Einzelnen Beitrag anzeigen

Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#12

Re: Mehrfaches einbinden von DLL verhindern.

  Alt 18. Aug 2008, 15:55
Zitat von Viktorii:
Zitat von brechi:
Delphi-Quellcode:
  mHandle := CreateMutex(nil, True, 'bineinetolleDLL');

  if GetLastError = ERROR_ALREADY_EXISTS then
  begin
    CreateMessageDialog('Application already running!', mtWarning, [mbOk]).ShowModal;
    Halt;
  end;
Das funktioniert in sofern, dass das doppelte Öffnen Erkannt wird und die Medlung angezeigt wird. Allerdings wird die Anwendung nicht geschlossen, sondern läuft parallel zu der ersten weiter.
Ich glaube dieser Code soll in die Applikation, nicht in die DLL. Sprich: Tritt kein ERROR_ALREADY_EXISTS auf, so darf die Applikation die DLL laden. Beim freigeben der DLL muss sie natürlich auch wieder den Mutex freigeben. Tritt der Fehler jedoch auf, so verfährst du wie es im Code oben steht, bzw. wie du es auch bei deiner "MultipleAppicationNotifyer"-Unit tust.

(Seh ich doch richtig, oder?) ...
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat