При варианте Gravitas'a выполняется (при запуске дублирующей копии программы) процедура FormCreate главного модуля (с формой).
Цитата:
procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage('test');
end;
|
Это можно исправить изменив вариант Gravitas'а следующим образом:
Цитата:
if FindWindow('TForm1', 'Form1') > 0 then
begin
SetForegroundWindow(FindWindow('TForm1', 'Form1'));
Application.Terminate;
end else
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
|