Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Exception in Destroy (https://www.delphipraxis.net/177356-exception-destroy.html)

MyKK 2. Nov 2013 11:24

Exception in Destroy
 
Hallo,

ich Arbeite mit Delphi 6 unter Win7 64bit. Es geht sehr gut. Jetzt habe ich aber in meinen Komponenten einen Fehler, der beim Free aller aktuellen Komponenten eines Formulares bei deren Destroy eine Exception auslöst, die vermutlich eine von mir erzeugte falsche Speicherzuordnung als Ursache hat.

Im Thema von "Gruber_Hans_12345 · begonnen am 14. Jan 2008 · letzter Beitrag vom 22. Jan 2008"
wurde mein Problem genau beschrieben.

Im Ergebnis gab es keine unterstützende Software für Delphi 2007 sondern es mußte mühsame Handarbeit ausgeführt werden.
1. Leider bin ich nicht so gut die dazu notwendigen Arbeitsschritte selber zu erkennen.

>> " 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) "

2. ich kenne memcheck nicht, könnte damit wahrscheinlich den Fehler besser orten (siehe Zitat aus o.g. Beitrag)
Kann mir jemand mit memcheck auf die Sprünge helfen.

Sollte memcheck nicht unter W764bit laufen habe ich auch noch einen Windows 2000 PC bzw. einen Windows Xp PC auf denen das gleiche Delphi6 läuft.

Gruß Klaus Köth

jaenicke 2. Nov 2013 12:08

AW: Exception in Destroy
 
Ich würde dir FastMM empfehlen:
http://sourceforge.net/projects/fastmm/
In der beiliegenden .inc Datei kannst du auch den FullDebugMode aktivieren um noch mehr Informationen zu bekommen.

MyKK 2. Nov 2013 13:01

AW: Exception in Destroy
 
Im Beitrag Exception in Destroy von Gruber_Hans_12345 · begonnen am 14. Jan 2008 · letzter Beitrag vom 22. Jan 2008 stand dazu
Zitat:

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.
deshalb nochmal die Frage nach dem Oldtimer

Gruß Klaus

Perlsau 2. Nov 2013 15:34

AW: Exception in Destroy
 
Zitat:

Zitat von MyKK (Beitrag 1234264)
deshalb nochmal die Frage nach dem Oldtimer

Wieso fragst du nicht direkt den Gruber Hans, wenn er das hat und du's sonst nirgends finden kannst?

jaenicke 2. Nov 2013 15:49

AW: Exception in Destroy
 
Memcheck macht für Delphi kaum einen Sinn, es ist eigentlich für C bzw. C++ Programme. Der Aufwand ist auf jeden Fall viel höher als bei FastMM.
Zitat:

Zitat von MyKK (Beitrag 1234264)
Im Beitrag Exception in Destroy von Gruber_Hans_12345 · begonnen am 14. Jan 2008 · letzter Beitrag vom 22. Jan 2008 stand dazu
Zitat:

und das FastMM4 zeigt mir nicht wirklich was an.

Probier FastMM doch einfach mal selbst aus. Wir benutzen das ständig beruflich.

Das zeigt dir einen Stacktrace zu jedem geleakten Objekt an und bei Speicherverletzungen (Zugriff nach Freigabe des Objekts) wird der Stacktrace der Erstellung des betreffenden Objekts, der Freigabe des Objekts und des aktuellen Zugriffs gespeichert.

Mehr Informationen kannst du wohl kaum bekommen.

himitsu 2. Nov 2013 15:53

AW: Exception in Destroy
 
Zitat:

Zitat von jaenicke (Beitrag 1234281)
Probier FastMM doch einfach mal selbst aus. Wir benutzen das ständig beruflich.

Man sollte nur die nötigen Debug-Funktionen vorher aktivieren.

jaenicke 2. Nov 2013 16:15

AW: Exception in Destroy
 
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang liegt unsere Version der Einstellungsdatei. Die hat den FullDebugMode aktiv.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 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