Zitat von
Riese:
Ja, aber die herunterladbare Anwendung ist schon fertig (als exe). Es soll aber nach einem Download nur gestattet sein diese 1 x zu starten. Ein doppelter Start könnte Datenbanken die dabei konvertiert werden zerstören, ...
Dafür gibts aber wesentlich einfachere Möglichigkeiten, um den Mehrfachstart zu verhindern.
Zum Beispiel über Semaphoren:
Delphi-Quellcode:
var
SH_Sem : HWND;
SH_Ins : boolean;
.
.
.
SH_Sem:=CreateSemaphore(nil,0,1,'ein belibiger eindeutiger Text');
SH_Ins:=(SH_Sem<>0) and (GetLastError=ERROR_ALREADY_EXISTS);
If SH_Ins then
begin
CloseHandle(SH_Sem);
exit;
end;
Das in die .dpr datei rein vor Application.Initialize.
Dann noch die
Unit Windows ins Projekt einbinden und fertig ... Damit wird eine Semaphore angelegt, die in der Sitzung einzigartig ist. Beim zweiten start erhählt man dann über GetLastError die Info, dass diese schon exisistiert und man weiß, dass Programm bereits läuft ...
Aber ehrlich. Wenn dein Programm so unsicher ist, dass es bei zweifachen Start die Datenbank zerstört, dann ist irgendwas nicht so recht schön ...