aah .. jetzt gehts *freu*
Ist mir doch die Lösung noch im Bett eingefallen. War ein Logik fehler !
Danke nochmal !!
Code:
class function TFormTS.bereitsaktiv : boolean;
begin
result := true;
if hsem <> 0 then result := true else // dann schon selber gestartet
begin
// prüfen ob andere Instanz des Programms dieses Modul geöffnet hat
hSem := CreateSemaphore(nil,0,1,PCHAR('TS'));
if (hSem <> 0) and (GetLastError() = ERROR_ALREADY_EXISTS) then
begin
result := true;
closehandle(hsem);
hSem := 0 ;
end else result := false;
end;
end;