Heaptrc und LazActiveX-Browser Programmabsturz, normal?

Rund um die LCL und andere Komponenten
Antworten
Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Heaptrc und LazActiveX-Browser Programmabsturz, normal?

Beitrag von Soner »

Hallo,
ich verweden ActiveX-Browser von hier http://wiki.freepascal.org/LazActiveX.
Wenn ich Heaptrc bei Projekt-Debuggereinstellungen aktviere, dann gibt es fehler beim Beenden des Programms.
Ist es normal? D.h. Kann Heaptrc-Unit mit ActiveX-Objekten nicht umgehen?
Dateianhänge
axcwb-heaptracetest.7z
(58.7 KiB) 66-mal heruntergeladen

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Heaptrc und LazActiveX-Browser Programmabsturz, normal?

Beitrag von Soner »

Ich habe die Fehlerquelle gefunden, der Fehler gibt es bei allen ActiveX-Controls, wenn man Heaptrc benutzt. Ich frage mich warum es bei passiert, wenn man Heaptrc benutzt.
Es passiert mit allen ActiveX-Controls das Eventsink verwendet. Hier:

Code: Alles auswählen

 
//aus fpc\3.0.2\source\packages\winunits-base\src\eventsink.pp
procedure TAbstractEventSink.Disconnect;
begin
 if Assigned(FDispatch) then begin
  // Unhook the sink from the automation server
  InterfaceDisconnect(FDispatch, FDispIntfIID, FConnection);
  FDispatch := nil//<---- DAS ERZEUGT DEN FEHLER
  FConnection := 0;
 end;
end;   
 


Vielleicht ist das unter anderem der Grund warum man in Lazarus 1.8 kein ActiveX-Controls verweden kann.

Antworten