wenn mein programm länger als 10s läuft wird beim Beenden immer eine Fehlermeldung (External: SIGSEGV) erzeugt.
Im Aufrufstack ist die letze Codestelle in der Unit WSLCLClasses, Zeile 549:
Code: Alles auswählen
for n := 0 to MComponentIndex.Count - 1 do
begin
Node := PClassNode(MComponentIndex.Objects[n]);
if not Assigned(Node) then Continue;
if Node^.VClass <> nil
then Freemem(Node^.VClass); //<- Zeile 549
Dispose(Node);
end;
Aufrufstack:
Code: Alles auswählen
#0 SYSTEM_SYSFREEMEM$POINTER$$LONGWORD at :0
#1 ?? at :0
#2 ?? at :0
#3 U_SYSINITPAS_ENTRYINFORMATION at :0
#4 U_SYSTEM_ENTRYINFORMATION at :0
#5 SYSTEM_FREEMEM$POINTER$$LONGWORD at :0
#6 DOFINALIZATION at .\widgetset\wslclclasses.pp:550
#7 WSLCLCLASSES_finalize at .\widgetset\wslclclasses.pp:559
#8 SYSTEM_FINALIZEUNITS at :0
#9 EXCEPTIONOCCURRED(0x402c65, 0x40d2a5, 6341444, 0x163ff80) at forms.pp:1787
#10 SYSTEM_EXE_ENTRY$TENTRYINFORMATION at :0
leider habe ich keine Ahnung, was der Code an der Stelle macht, oder wo der Fehler liegt.
Wenn ich mein Programm starte und sofort(3s-7s) wieder beende tritt der Fehler nicht auf.
Hat wer ne Ahnung woran das liegen könnte?
MFG
Komoluna