Du könntest doch einfach im OnCreate Deines Forms einen
Mutex erzeugen
Delphi-Quellcode:
dwMutex : DWORD;
{ .... }
dwMutex := CreateMutex(nil,true,'Test'); // Schauen, ob das Programm schon mal läuft
ihn im OnClose wieder freigeben
CloseHandle(dwMutex);
und dann einfach vor dem CreateForm prüfen, ob der
Mutex schon existiert
Delphi-Quellcode:
dwMutex := CreateMutex(
nil,true,'
Test');
// Mutex erzeugen
try
if GetLastError <> ERROR_ALREADY_EXISTS
then // Mutex noch nicht erzeugt
CreateForm(
{... und so weiter }
dwMutex muss dann nur irgendwo global deklariert sein, aber das sollte ja das kleinere Problem sein. Ist vielleicht nicht die einfachste Lösung, aber sollte so funktionieren.
Grüße
Tom
EDIT: Na, der
Mutex im OnCreate ist ja doppelt gemoppelt. So schlägt der ja fehl. Also das OnCreate ist wohl unnötig.