I Presume it is the fact that LogInitialized is never initialized which means it might be true when one of the functions is called.
Add at the bottom of the unit
[pascal]
Initialization
LogInitialized := False;
Log := Nil;
Finalization
If Assigned(Log) then
Log.Free;
End.
[/pascal]
I didnlt test it exactly but its something like that.
Bookmarks