Eine Funktion die einen Boolean zurückgibt:
Delphi-Quellcode:
function firstInstanz : Boolean;
begin
// Überprüfen, ob dies die 1. Instanz ist, oder eine weitere...
end;
Ich habe mich nicht damit auseinandergesetzt... Deshalb kann es sein, dass es so nicht geht, aber wenn es so geht, dann kann man so ein Halt; / Application.Terminate; umgehen!
Nicht getestet:
Delphi-Quellcode:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
var
mHandle : THandle;
begin
mHandle := CreateMutex(Nil, True, 'TForm1');
if GetLastError <> ERROR_ALREADY_EXISTS then begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
if mHandle <> 0 then
CloseHandle(mHandle);
end.