title image


Smiley Mehrfachstart unterbinden {inside}
Hallo Guenther,



das Problem liegt am ständigen Aufruf des *scr



Win hört einfach nicht auf das Programm zu starten.

Abhilfe schafft da dert Check des eigenen Programmes.



Die einfachste Möglichkeit ist das EIGENE Fenster nach Titel zu suchen und wenn gefunden, sofort die neue Instanz zu beenden.

Thema FindWindow



Die andere Möglichkeit wäre nun im Speicher einen Wert zu setzen, welcher auch ausgelesen werden kann und welcher auch nur einmal vorkommt.

Thema CreateMutex



zum zweiten habe ich ein schönes Beispiel:



Dazu sollte folgender Code in der *dpr oder in einer extra Unit stehen, wobei im Fall einer extra Unit diese VOR der Programminitialisierung aufgerufen werden sollte.



*/ Start Code */





var

Mutex: THandle ;

{ Globale Variable }





var

Is_Running : Boolean ;

begin

MutexMsg := RegisterWindowMessage(MutexName) ;

Mutex := CreateMutex(nil, True, MutexName) ;

{ MutexName ist ein beliebiger String }

Is_Running := ((Mutex = 0) or (GetLastError = ERROR_ALREADY_EXISTS)) ;

{ Dies ist der Check, ob schon eine Programminstanz läuft }



if Is_Running then

begin

SendMessage(HWND_BROADCAST, MutexMsg, 0, 0) ;

Exit ;

end ;

{ wenn das Programm schon läuft, wird eine Nachricht an das Programm geschickt, welches schon läuft und es erhält den Focus, dann wird die Procedure oder Funktion verlassen }



{ Hier wird nun normal mit der Initialisierung und dem Aufrufen der Forms fortgefahren. }



{ Das hier ist jetzt WICHTIG



Kurz vor dem END. in der *.dpr MUSS nun noch das Mutex entfernt werden:

if Mutex 0 then

CloseHandle(Mutex) ; }





*/ End Code */



So, das wäre auch schon alles.



Wenn noch Fragen sind, dann frag :)



~Hohoho





Gruß
~Mathias
..   ————————————————————————————————————————
..
..   Private Seite: http://www.nogad.de
..
..   ————————————————————————————————————————
..
..   Pension Fiege - Inhaber Monika Fiege
..   Kranichfelder Straße 68
..   99097 Erfurt
..
..   Tel: +49 361 41 38 39
..   Fax: +49 361 42 150 87
..
..   www.Pension-Fiege.de
..
..   ————————————————————————————————————————


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: