Autor Beitrag
lemming
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Fr 15.08.03 12:46 
Hi!

Ich habe hier diesen Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
uses
  Jpeg, IdHTTP, ...
.
.
.
var
  strBild: TStream;
.
.
.
begin
   strBild := TStream.Create;
.
.
.
      try
        IdHTTP.Get(sTemp, strBild);
      finally
        ImagePic.Picture.Bitmap.LoadFromStream(strBild);
        //strBild.Free;
      end;


Damit soll ein Bild von einer Internetseite herunter geladen werden und in einem Image angezeigt werden. Leider passiert gar nichts. Das Image bleibt leer.

Was mache ich falsch?

-lemming
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Fr 15.08.03 13:57 
Hi!

Du erstellst ein Objekt der abstrakten Basisklasse TStream, das ist nicht zulässig. Du darfst zwar Variablen vom Typ TStream benutzen, niemals aber TStream.Create aufrufen. Schaue dir mal ein paar Infos zur Vererbung und Polymorphie an, wenn du näheres wissen willst.

Ersetze TStream
ausblenden Quelltext
1:
strBild := TStream.Create;					

durch einen Stream, dessen Daten in deinem Hauptspeicher abgelegt werden:
ausblenden Quelltext
1:
strBild := TMemoryStream.Create;					


Cu, :)
Udontknow

PS: Evtl noch nach dem idHttp.Get den Befehl "StrBild.Position:=0" einfügen.