Forum: Sonstige Fragen zu Delphi
Delphi
by Blup,
19. Mär 2009
if bmp1=nil then bmp1.free;
Das ist Unsinn. Wenn bmp1 = nil ist, dann darf man durchaus Free aufrufen, es tut nur nichts.
bmp1.Free ohne Bedingung direkt aufzurufen ist also durchaus richtig.
bmp1.free löscht das Objekt, setzt aber die Variable bmp1 nicht auf nil.
bmp1 verweist danach auf einen ungültigen Speicherbereich.
Wird bmp1.free danach ein weiteres mal aufgerufen, erscheint...
Forum: Sonstige Fragen zu Delphi
Delphi
by Blup,
19. Mär 2009
Ich hätte eigentlich erwartet das thomas2009 Quelltext an seinen Beitrag hängt.
Aus den 3 Zeilen kann man unmöglich die Fehlerursache ermitteln und das Bild der Fehlermeldung bringt auch keine zusätzlichen Informationen.
Meine Glaskugel vermutet eine dieser Varianten:
Das Objekt aus bmp1 wurde einer anderen Variablen zugewiesen und dort freigegeben.
bmp1 := TBitmap.Create;
bmp2 := bmp1; <-...