ActiveX and HeapTrace

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Re: ActiveX and HeapTrace

Beitrag von theo »

mse hat geschrieben:Was hier möglicherweise passiert, ist, dass du die Instanz freigibst und später _Release() oder eine andere interface Methode aufgerufen wird. Solange der Speicher nicht wiederverwendet wird, merkt man nichts davon. Heaptrace füllt freigegebenen Speicher mit Müll (0f0f0f0f) damit der Fehler sofort auftritt und nicht erst beim Kunden. ;-)

Martin.


Danke, so etwas habe ich mir auch vorgestellt.
Also rein praktisch gesehen kann ich die Komponente problemlos verwenden, da ich sie ja nur beim schliessen der Anwendung freigebe, und dann ja ohne HeapTrace nichts passiert. Einziger Nachteil: Ich kann Heaptrace nicht verwenden um Speicherlecks in der kompletten Anwendung zu testen.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: ActiveX and HeapTrace

Beitrag von mse »

Wobei man ab und zu schon mit einem crash beim Beenden der Anwendung rechnen muss, da nicht garantiert ist, dass der Speicher beim Schliessen der Anwendung nie wiederverwendet wird.

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Re: ActiveX and HeapTrace

Beitrag von theo »

mse hat geschrieben:Wobei man ab und zu schon mit einem crash beim Beenden der Anwendung rechnen muss, da nicht garantiert ist, dass der Speicher beim Schliessen der Anwendung nie wiederverwendet wird.


Ja, dass liesse sich dann aber mit einem try...except auch noch abfangen,oder?

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: ActiveX and HeapTrace

Beitrag von mse »

Nicht sicher, da bei zerstörten Speicherstrukturen auch die exception Behandlung nicht mehr funktionieren könnte. BTW, hat die verwendete ActiveX Bibliothek eine "deinitialize" Funktion welche vor dem Abräumen der Instanzen aufgerufen werden kann?

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Re: ActiveX and HeapTrace

Beitrag von theo »

[quote="mse"BTW, hat die verwendete ActiveX Bibliothek eine "deinitialize" Funktion welche vor dem Abräumen der Instanzen aufgerufen werden kann?[/quote]

Nein afaics.

Antworten