Liebe Wissenden kürzlich gab es diesen Thread zum Thema:
Auslagern von Funktionen und Subs eines UserControls in Module.
Eine Antwort lautete wie nachfolgend: http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…
Ich fand diese Sache sehr nützlich und habe versucht, ein ganzes
textfeld-Array auf diese Weise zu übergeben.
Das funktionierte jedoch nicht , ich erhielt die Fehlermeldung:
„Indexangabe für Objektdatenfeld erforderlich (Fehler 344)“
Verstanden habe ich sie nicht wirklich.
Weiß jemand von Euch, wie ich o.g. Beispiel mit ControlArrays realisieren kann in VB 6?
„Indexangabe für Objektdatenfeld erforderlich (Fehler 344)“
Wenn Du aus Text ein Steuerelementefeld machst, hast Du anschließend die Steuerelemente Text(n). Die Meldung kommt, wenn Du (n) weg läßt.
‚n‘ muß einen Wert enthalten, der einem vohandenen Element entspricht.
Hallo Rainer,
Dank für Deine Erläuterung.
Wie muss ich die Übergabe eines Steuerlementefeldes mit 3 Textboxen an eine Prozedur formulieren? Ich bekomm es einfach nicht hin.
„Indexangabe für Objektdatenfeld erforderlich (Fehler 344)“
Wenn Du aus Text ein Steuerelementefeld machst, hast Du
anschließend die Steuerelemente Text(n). Die Meldung kommt,
wenn Du (n) weg läßt.
‚n‘ muß einen Wert enthalten, der einem vohandenen Element
folgendes habe ich ausprobiert:
Public Sub showField(feld() As Control, Index As Integer)
For Index = 0 To feld.ubound
feld(Index).Text = "hello"
End Sub
Private Sub Text1\_Click(Index As Integer)
showField Text1(), Index
End Sub
Das Formular enthält ein Steuerelementefeld mit 2 Textboxen.
Die Fehlermeldung lautet:„unverträglicher Typ, Datenfeld oder Benutzerdefinierter Typ erwartet“
Was ist falsch in meinen Anweisungen, wer kann mir sagen, wie es
richtig ist?
wie es Rainer so schoen schrieb , erhöhe einfach die Zahl der Schleifenaufrufe
Hallo Karotier,
Deinen Code habe ich nicht verstanden, ich denke aber, ich weiß was Du machen wolltest.
Auf der Form:
Text1(0); Text1(1); Command1
Option Explicit
Private Sub Command1\_Click()
Dim i As Integer
For i = 0 To 2 ' Anzahl der textboxen -1, da sie bei 0 beginnen
gt Text1(i)
Next
End Sub
MFG Alex
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Rainer,
Leider war es das nicht.
Ich möchte das gesamte Textbox-array an eine prozedur übergeben. Mit allen Eigenschaften. Was Deine Sub macht , ist Text in die einzelnen Elemente des Textbox-Array zu schreiben…
Also es geht um die Übergabe eines ganzen Steuerelement-Arrays an eine Sub. Wie muss das formuliert werden?
Hallo Rainer,
es hat ein Weilchen gedauert - aber jetzt habe ich verstanden.
Ja. DAS (s.u.) trägt die Lösung für mein Problem in sich, ich musste mich nur erst von meiner viel zu komplizierten Denkweise lösen.
Herzlichen Dank und *
Gruß,
Karotier
Deinen Code habe ich nicht verstanden, ich denke aber, ich
weiß was Du machen wolltest.
Auf der Form:
Text1(0); Text1(1); Command1
Option Explicit
Private Sub Command1_Click()
Dim i As Integer
For i = 0 To 1
gt Text1(i)
Next
End Sub
Im Modul:
Option Explicit
Public Sub gt(c As Control)
c.Text = „Hallo“
End Sub
Du klickst auf den Button und anschließend steht ‚Hallo‘ in
beiden Textfeldern.
War’s das? Oder habe ich wieder mal etwas falsch verstanden?