Hallo zusammen,
beim starten meines Programms auf einem Client prüfe ich ob die lokale Hilfedatei
a) vorhanden ist
b) die aktuelle Version hat (auf einem Server liegt die aktuelle Hilfedatei)
Da das im Hintergrund laufen soll, habe ich gedacht das in einen eigenen Thread auszuführen, einmalig beim Start.
Funktioniert auch, außer dass nun beim Beenden des Programms ein Memory Leak auftaucht:
Zitat:
---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:
53 - 60 bytes: my_HelpFileThread x 1
---------------------------
OK
---------------------------
Der Thread ist eigentlich super einfach:
Delphi-Quellcode:
UNIT u_HelpFileThread;
INTERFACE
USES
System.Classes, System.IOUtils, System.SysUtils,
WinApi.Windows;
TYPE
my_HelpFileThread =
CLASS( TThread )
PRIVATE
{ Private-Deklarationen }
VAR
ls_FileNameAndPath_local, ls_FileNameAndPath_Server: PWideChar;
PROTECTED
PROCEDURE Execute;
OVERRIDE;
END;
IMPLEMENTATION
PROCEDURE my_HelpFileThread.Execute;
BEGIN
TRY
// hier meine Abarbeitung der Aufgabe
FINALLY
Terminate;
END;
END;
In der Hauptform im OnShow() habe ich folgendes stehen:
Delphi-Quellcode:
...
u_HelpFileThread.my_HelpFileThread.Create;
...
Ich finde nun keine Möglichkeit meine Thread Klasse freizugeben mit Free oder ähnlichem.
Wie muss man das machen?
Vielen Dank vorab!