Die Community zu .NET und Classic VB.
Menü

FAQ 0055: Läuft bereits eine Instanz meiner Anwendung?

 von 

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.