Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit TMemoryStream (https://www.delphipraxis.net/68209-problem-mit-tmemorystream.html)

Lenny-k 26. Apr 2006 11:48


Problem mit TMemoryStream
 
Ich weiß zwar nicht, ob das hier das richtige Forum ist, aber ich poste mal mein Problem ^^
Folgender Code bricht ab, mit einer Zugriffsverletzungsmeldung...

Delphi-Quellcode:
  AResponseInfo.ContentType:='image/bmp';
  bmp:=TBitmap.Create;
  ImageList1.GetBitmap(0,bmp);
  try
    str:=TMemoryStream.Create;
    bmp.SaveToStream(str);
    AResponseInfo.ContentStream:=str;
  finally
    str.Free
  end;
str ist eine Variable vom Typ TMemoryStream... AResponseInfo ist die Responseinfo vom Indy HTTP-Server!
Debuggen hilft nix, die Meldung kommt immer einfach am schluss der prozedur :S Ich bin irgendwie ratlos... Woran liegt das?

marabu 26. Apr 2006 12:01

Re: Problem mit TMemoryStream
 
Hallo.

Du darfst den Stream nicht freigeben - er wird noch benötigt.

Grüße vom marabu

PMM 26. Apr 2006 12:04

Re: Problem mit TMemoryStream
 
Zitat:

AResponseInfo.ContentStream:=str
kopiert _nicht_ den Stream, sondern übergibt die Addr. desselben. Anschliessend wird der Stream freigegeben und der nächste Zugriff von "AResponseInfo" auf "ContentStream" kracht..
PMM


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz