Googlettamalla en löydä kuin ohjeita luoda kontrolli-array ajon aikana ... Onko yleensäkään mahdollista luoda tietoalkioita(varmaan väärä nimi, suomeni tuppaa mättäämään) varten array ajon aikana ?
Siis tälläinen
Dim arrayID(1 To 50) As String
mutta ajon aikana.
Voi luoda, mutta se vaatii Windowsin APIn tuntemusta jollakin tasolla, kuin myös tietynlaista muuttujien hakkerointia. Lisäksi tarvitset joka tapauksessa jonkin valmiiksi määritellyn muuttujan, jonka kautta tietoon pääset käsiksi.
Kiertäviä toimenpiteitä voi myös miettiä. Voit esimerkiksi luoda Collectionin, jonne sijoitat taulukoita:
Option Explicit Dim Taulut As New Collection Private Sub Command1_Click() Dim UusiTaulu() As String ReDim UusiTaulu(1 To Int(Rnd * 50) + 1) Taulut.Add UusiTaulu, "Taulu" & (Taulut.Count + 1) End Sub Private Sub Command2_Click() Dim lngA As Long For lngA = 1 To Taulut.Count MsgBox UBound(Taulut(lngA)) Next lngA End Sub
Huomaa että kun teet näin, luot kopion taulukosta. Vaikka siis Command1:stä poistutaan ja UusiTaulu -taulukkomuuttuja sitä myöten tuhoutuu, säilyy siitä kopio Collectionista. VB6:n rajoituksien takia tarvitaan kuitenkin jokin taulukkomuuttuja, joka täytyy ensin luoda, jotta sen voi sijoittaa Collectioniin.
Voit käyttää tuon kanssa esimerkiksi tämmöisiä syntakseja:
Taulut("Taulu1")(1) = "Hei"
Form1.Caption = Taulut(1)(1)
Aihe on jo aika vanha, joten et voi enää vastata siihen.