Thema: Delphi JPG per Http einbinden

Einzelnen Beitrag anzeigen

TheThrust

Registriert seit: 30. Jan 2008
19 Beiträge
 
#5

Re: JPG per Http einbinden

  Alt 11. Jan 2009, 16:08
Hey!

Sorry, dass ich in diesem realtiv alten Thread noch einmal poste, aber mein Problem passt dort einfach perfekt hin.

Ich habe eine JPEG-Datei runtergeladen und möchte die jetzt aber auch bearbeiten können.
Soweit ich weiß geht das nur mit bmp's, also hab ich folgendes versucht:

Delphi-Quellcode:
var
  myClient: TidHTTP;
  myMemoryStream: TMemoryStream;
  myJPEG: TJPEGimage;
  var bitm : TBitmap; //<----
begin
  myClient := TidHTTP.Create(Self);
  myMemoryStream := TMemoryStream.Create;
  myJPEG := TJPEGImage.Create;
  try
    myClient.Get('http://server/img.jpg', myMemoryStream);
    myMemoryStream.Position := 0;
    myJPEG.LoadFromStream(myMemoryStream);
    Image1.Picture.Graphic := myJPEG; //Das funktionier hervorragend
    bitm := TBitmap.Create;
    bmp_img.Assign(myJPEG); //Hier liegt das Problem!!
    Image1.Picture.Bitmap := bmp_img;
  finally
    myJPEG.Free;
    myMemoryStream.Free;
    myClient.Free;
  end;
end;
Als Parameter fordert die .Assign() Funktion einen TPersistent, kann es sein, das dort der Fehler liegt, weil mein JPEG nicht gespeichert ist?
Generell habe ich mit der Funktion und JPEG-Dateien nie ein Problem gehabt, aber die kamen auch nie aus einem Stream...
Hat jemand eine Idee, wieso da folgende Fehlermeldung kommt??
Zitat:
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00487C29 in module 'Project1.exe'. Read of address 00000000'. Process stopped. Use Step or Run to continue.
Vielen Dank noch an kachel81 für den Quelltext!
  Mit Zitat antworten Zitat