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

  • #1
C

Crackwar

Mitglied
Themenersteller
Dabei seit
27.02.2005
Beiträge
5
Reaktionspunkte
0
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
 
Thema:

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

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben