Neue Instanz nur öffnen, wenn noch nicht offen...

Dieses Thema Neue Instanz nur öffnen, wenn noch nicht offen... im Forum "Windows XP Forum" wurde erstellt von Crackwar, 27. Feb. 2005.

Thema: Neue Instanz nur öffnen, wenn noch nicht offen... Irgendwie funktioniert das nicht so wie ich will... Ich möchte gerne, dass geprüft wird, ob die Form bereits geladen...

  1. Irgendwie funktioniert das nicht so wie ich will...
    Ich möchte gerne, dass geprüft wird, ob die Form bereits geladen ist...Wenn sie geladen ist, soll sie angezeigt werden, ansonsten soll eine neue Instanz dieser Form geöffnet werden.
    Leider funktioniert das nicht so richtig...kann mir nicht jemand helfen?
    Hier mal der Code soweit ich den schon habe...Danke schonmal im Vorraus :)


    Code:
    Private Sub lstUser_DblClick()
    Dim Index As Integer
    Dim i As Integer
    'If Replace(SplitString(lstUser.List(lstUser.ListIndex),  (, 2), ), ) = GetComputerName() Then
     ->Exit Sub
    'Else
      For i = LBound(fNew) To UBound(fNew)
        If fNew(i).Tag = Replace(SplitString(lstUser.List(lstUser.ListIndex),  (, 2), ), ) Then
          fNew(i).Show
        Else
          Senden 3 & GetComputerName() &-> & userName, Index
          If blnServer = True Then ForwardMsg 3 & GetComputerName() &-> & userName, Index
    On Error GoTo err
        With fNew(frmPrivate.Tag)
          vVerbindungsart = Server
          .Socket.LocalPort = 1002
          .Socket.Listen
          .Show
          .Caption = .Caption & lstUser.List(lstUser.ListIndex)
          .Tag = Replace(SplitString(lstUser.List(lstUser.ListIndex),  (, 2), ), )
          frmPrivate.Tag = frmPrivate.Tag + 1
        End With
        Exit Sub
    err:
        fNew(frmPrivate.Tag).Socket.Close
        End If
      Next i
    'End If
    End Sub
     
  2. Hallo.

    Code:
    Dim f() As New Form2
    
    
    '---in der Function----
    
    On Error Resume Next
    Debug.Print UBound(f)
    If Err.Number <> 0 Then
      ReDim f(0)
      f(0).Show
    Else
      ReDim Preserve f(UBound(f) + 1)
      Load f(UBound(f))
    End If
    On Error GoTo 0
    Nicht vergessen das Feld zu löschen wenn das Fenster geschlossen wird.


    Edit:

    Explicit prüfen ob das Formular schon geöffnet ist kannst Du so
    Code:
    For i = 0 To Forms.Count - 1
      If Forms(i).Name = Form2 Then MsgBox form geöffnet
    Next i
    Wobei die .Tag- Eigenschaft besser geeignet sein könnte, als die .Name-Eigenschaft
    Gruß
     
  3. Danke schön...hat geklappt :D
     
Die Seite wird geladen...

Neue Instanz nur öffnen, wenn noch nicht offen... - Ähnliche Themen

Forum Datum
Windows SQL Server 2000: Neue Instanz erstellen? Windows Server-Systeme 22. Mai 2006
trotz komplett neuem setup wird pc immer langsamer Windows 10 Forum Gestern um 12:22 Uhr
Windows 8.1 Neuinstallation auf neuer Festplatte nicht möglich. Hilfe! Windows 8 Forum 11. Okt. 2016
Win7-64, Neue CPU eingebaut und kaum eine Steigerung...? Windows 7 Forum 22. Sep. 2016
Neuer PC und schlechtes Internet. Windows 10 Forum 21. Juli 2016