delphimvcframework/lib/loggerpro/samples/60_logging_inside_dll/MyThreadU.pas

61 lines
936 B
ObjectPascal

unit MyThreadU;
interface
uses
System.Classes;
type
TMyThread = class(TThread)
procedure Execute; override;
end;
IMyInterface = interface
['{603F3B5A-116C-4286-B70B-85CD7747BCF0}']
end;
TMyObject = class(TInterfacedObject, IMyInterface)
protected
fMyThread: TMyThread;
public
constructor Create;
destructor Destroy; override;
end;
implementation
uses
LoggerPro.GlobalLogger;
{ TMyThread }
procedure TMyThread.Execute;
begin
while not Terminated do
begin
Log.Debug('Into the thread...', 'DLLTHREAD');
Sleep(1000);
end;
end;
{ TMyObject }
constructor TMyObject.Create;
begin
inherited;
Log.Debug('Creating the thread', 'DLLTHREAD');
FMyThread := TMyThread.Create(true);
FMyThread.Start;
end;
destructor TMyObject.Destroy;
begin
Log.Debug('Destroing the thread', 'DLLTHREAD');
FMyThread.Terminate;
FMyThread.WaitFor;
FMyThread.Free;
inherited;
end;
end.