Hallo zusammen.
Nach langer Fehlersuche bin ich auf ein Phänomen gestoßen, dass ich mir nicht so recht erklären kann und wofür ich etwas Hilfe bräuchte:
Ich nutzen den VST und im OnDestroy meines Hauptforms wird er automatisch geleert. Da ich an die Nodes Daten anhänge, wird natürlich OnFreeNode aufgerufen, wo ich den Speicher dann freigeben muss. Jetzt kam es, dass ich beim Beenden meines Programm regelmäßig
Access Violations abbekommen habe, die ich bis in die Funktion
TGlassFrame.FrameExtended
zurückverfolgen konnte. Zur Hilfe habe ich mir dann einige ShowMessages in den Ablauf von OnFreeNode eingebaut, die aber nie ausgeführt wurden. Nachdem ich diese auskommentiert habe, war der Fehler verschwunden.
1. Im OnDestroy bzw. einen Folgeereignis davon (bin mir nicht sicher, war bei mir ja OnFreeNode) kann ich scheinbar kein ShowMessage benutzen (ich lande wieder in
TGlassFrame.FrameExtended
mit einer AccessViolation).
2. Ohne die ShowMessages habe ich keinen Fehler mehr, obwohl er vorher da war (ohne die Messages, die hab ich erst zur Fehlersuche reingesetzt).
Es wäre interessant, wenn jemand das ganze nachvollziehen könnte (ich nutze Delphi 2009, Build 12.0.3420.21218) oder mir sagen kann, was ich evtl. übersehen habe, weil der eigentliche Auslöser für den Fehler scheint ja auf einmal verschwunden (warum auch immer, habe nur mit Breakpoints den Fehler verfolgt)