FAQ 0055: Läuft bereits eine Instanz meiner Anwendung?
von Helge Rex
Frage
Läuft bereits eine Instanz meiner Anwendung?
Beispiel
Das App-Objekt stellt die Eigenschaft PrevInstance dafür zur Verfügung.
Um nicht unnötig Speicher zu verschwenden sollte man diese Prüfung in ein Modul auslagern und in den Projekteigenschaften "Sub Main" als Starttyp auswählen.
Public Sub Main() ' Unter "Projekt" -> "Eigenschaften" -> ' "Allgemein" -> "Startobjekt" muß "Sub Main" ' ausgewählt sein! ' Läuft bereits eine Instanz meiner Anwendung? If App.PrevInstance Then ' Ja, diese Instanz in den Vordergrund holen ' 'App.EXEName' muß durch die Beschriftung ' der Form (meist MDI.Caption) ersetzt werden, ' welche angezeigt wird. VBA.Interaction.AppActivate App.EXEName Else ' Nein, eine neue Instanz starten ' Hier die Hauptform (meist MDIForm) starten End If End Sub
Listing 1: Vorherige Instanz aktivieren
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.