![]() |
Exception in Destroy
Hallo
Ich bin beim Umstieg von Delphi 6 auf Delphi 2007, und habe nun noch ein Problem. Und zwar, wird beim zumachen der Anwendung (im speziellen im Destroy Event des Hauptformulares) eine Exception ausgelöst. Diese ist jedesmal etwas anderes, manchmal kommt einfach ein Fehler mit nur Adresse (anscheinend irgendwo im VMT FreeObject, manchmal, im DestroyComponents) Ich vermute, das da einfach nur noch irgendwo eine Componente herumschwiert, die noch in der Liste des Forms ist, aber schon mal freigegeben wurde. Ich habe auch den FastMM4 drauf, aber der meldet leider meist keinen Fehler bzw keinen sinnvollen log eintrag Wie komme ich so einen Bug am besten auf die Schliche? In dem Form werden leider viele Komponenten zur Laufzeit erzeugt, teilweise aus einer Scriptsprache heruas .... ich habe schon probiert vor dem Destroy.inherited alle Components[ComponentCount] zu prüfen (einfach ein zugriff auf Name bzw ClassName) um zu sehen, ob da schon eine Componente "kaputt" ist, aber da funktioniert noch alles ... |
Re: Exception in Destroy
Wie sieht dein Code aus? Wird irgendwas dynamisch erzeugt?
|
Re: Exception in Destroy
Zitat:
da werden sicher zig hundert componenten an ganz unterscheidlichen stellen neu erzeugt ich bin mir auch sehr sicher, das es sich "nur" um eine componente handelt, die als Owner das Form hat, und von mir manuelle freigegben wurde/wird. nur das problem ist, wie finde ich das? Im D6 hatte ich unter anderen den memcheck drauf, der hat mir sowas immer angezeigt. (Hat auch mitgespeichert, wo das Objekt, das ich versuche ein zweites mal freizugeben, erzeugt wurde) unter D2007 funkt das ja leider nicht mehr, und das FastMM4 zeigt mir nicht wirklich was an. |
Re: Exception in Destroy
Zitat:
|
Re: Exception in Destroy
Zitat:
normalerweise verwende ich ein FreeAndNil, wo ich zugriff auf die variable habe, und ein Free, wenn ich nur ein property habe ... |
Re: Exception in Destroy
Zitat:
|
Re: Exception in Destroy
Zitat:
|
Re: Exception in Destroy
Schau dir das Ganze doch im Debugger Schritt für Schritt an.
|
Re: Exception in Destroy
Zitat:
Da das ganze im TCustomForm.Destroy bzw im TWinControl.Destroy auftritt und dieses Form hat einige hundert Komponenten, die da freigegeben werden, und wenn ich da schritt für schritt durchgehen muß :( |
Re: Exception in Destroy
Dann setzte doch den Breakpoint dort.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz