Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: TImage - warum diese Fehlermeldung

  Alt 19. Dez 2005, 21:27
@xaromz: Das stimmt auch, aber _der_ Fehler ist an einer anderen Stelle.

@meisteralex: Ich glaube, du hast eine ziemlich wichtige Eigenschaft von Klassen noch nicht verstanden: Es sind immer Referenztypen. Wenn du also eine Variable einer Klasse hast, hast du eigentlich nur einen Zeiger, der auf die echte Instanz irgendwo im Arbeitsspeicher zeigt.
Delphi-Quellcode:
ScreenToFile:=screenimage;
screenimage.Free;
Hier hast du demnach nicht zwei verschiedene Objekte, sondern zwei Zeiger auf dasselbe Objekt. Wenn du dieses nun freigibst, zeigt der andere Zeiger natürlich nur noch auf Datenmüll -> AV.
Letzten Endes erschaffst du außerdem ein Speicherleck, weil du das alte Image nicht freigibst.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat