اقا من اين كار رو هم انجام دادم ولي نتونستم مشكل رو حل كنم.
اين كد رو در يونيت اول قرار دادم. تا Thread ي كه كارش كپي يك فايل هست رو فراخواني كنه.
var
T : MyThread;
begin
T := MyThread.Create(True);
T.FreeOnTerminate := True;
T.Resume;
end;
و اين كد هم Thread ي كه كارش كپي فايل مورد نظره. مي خوام بعد از اتمام كپي شدن فايل برنامه بسته بشه.
type
MyThread = Class(TThread)
private
procedure OnTerminate;
protected
procedure Execute; override;
end;
var
implementation
procedure MyThread.OnTerminate;
begin
application.terminate;
end;
procedure MyThread.Execute;
begin
CopyFile();
end;
اين كد رو هم توي يه تايمر گذاشتم نشد.
if MyThread.FreeOnTerminate=true then
application.terminate;
هميشه مقدارش صفر هست.