Hallo,
Wenn ich in der IDE Mehrere Controls mit gleichen Namen angelegt habe ich ein Array dieser Controls. Wie muß ich das Deklarieren wenn ich es einer Procedure übergeben will?
MFG CBothe
Hallo,
Wenn ich in der IDE Mehrere Controls mit gleichen Namen angelegt habe ich ein Array dieser Controls. Wie muß ich das Deklarieren wenn ich es einer Procedure übergeben will?
MFG CBothe
Hallo
Ich denke das wird nicht gehen.
gruss, Giuseppe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
ReHallo
Vorschlag: Probiere es mit einem Array of Objects
Vorschlag: Wenn 1. nicht funktioniert, dann übergib die Parent-Form, durchlaufe in der Funktion die Controls-Auflistung der Form und checke den Namen (
dim c as control
for each c in form.controls
if c.name=„name“ then…
next
cu, holli
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Auch Hallo,
hab gerade kein VB da. Aber ich wuerde den Parameter in der Sub/Funktion einfach als variant definieren
Und dann kannst du das Controll array einfach reinstopfen Test(MeinControls) und in der Funktion über den Index zugreifen. Aus dem Kopf würde ich sagen über Item:
Sub Test(MeinControl as Variant)
MeinControl.Item(0).Caption =„BlahBlub“
MeinControl.Item(1).Caption =„BlubBlah“
end sub
Das sollte funktionieren.
Viel Spass,
Asmodi
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
habe die Lösung gefunden
Steuerelementefeld ist vom Typ Object.
MFG CB
Kannst Du den Code hier posten? Nimmt mich auch Wunder.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
hier der code:
Option Explicit
Private Sub Form\_Load()
SwitchFrame Frame1, 3
End Sub
Public Sub SwitchFrame(rahmen As Object, idx As Integer)
Dim a As Integer
For a = 0 To rahmen.Count - 1
If a = idx Then
rahmen(a).Visible = True
Else
rahmen(a).Visible = False
End If
Next
End Sub
Hallo,
folgende lösung habe ich gefunden:
Option Explicit
Private Sub Form\_Load()
SwitchFrame Frame1, 3
End Sub
Public Sub SwitchFrame(rahmen As Object, idx As Integer)
Dim a As Integer
For a = 0 To rahmen.Count - 1
If a = idx Then
rahmen(a).Visible = True
Else
rahmen(a).Visible = False
End If
Next
End Sub
Dank für deine Antwort und MFG CB
cool, wäre nicht draufgekommen
Sub test(ctl as control)
Falls die Übergabe 'call test(MeinControl) ist:
ctl(0).Left = 10
Falls die Übergabe 'call test(MeinControl(0)) ist:
ctl.Left= 10
End Sub
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]