2010-08-12 9 views
5

Ich arbeite an VB6-Anwendung, die mit MS Access-Datenbank verbunden ist, so möchte ich nicht zulassen, dass Benutzer mehrere Instanzen meiner Anwendung öffnen, da dies Konflikte erstellen wird & ändern verbunden Datenbank. Wenn der Benutzer versucht, eine andere Instanz zu öffnen, muss die aktuell ausgeführte Instanz ebenfalls fokussiert sein. Wie kann ich das erreichen? Vielen Dank im Voraus .......... :-)Prevent öffnende mehrere Instanz von VB-Anwendung

+0

Der Begriff, den Sie benötigen, ist "einzelne Instanz Anwendung". – ChrisF

Antwort

6

Verwendung App.PrevInstance:

'this code would be in a bas module for start up.' 
Private Sub main() 
    'Check for previous instance and exit if found.' 

    Dim rc As Long 

    If App.PrevInstance Then 
     rc = MsgBox("Application is already running", vbCritical, App.Title) 
     Exit Sub 
    Else 
     frmMain.Show 
    End If 

End Sub 
+0

Danke, das hat perfekt funktioniert, jetzt ist es sowieso da, um den Fokus auf die aktuelle Instanz zu setzen anstatt eine Fehlermeldung zu zeigen ..? – Kushal

+0

Ja, verwenden Sie die 'AppActivate' Methode - übergeben Sie, was auch immer in der Titelleiste Ihrer Anwendung ist. – MusiGenesis