Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Taulukko moduulissa VB

Dyer [10.08.2006 10:23:40]

#

Saako vb:ssä laitettua taulukoita moduuliin?

Koodini näyttää seuraavalta:

Do While id(i)>0
taulu(i,1) = id(i)
taulu(i,2) = xcord(i)
taulu(i,3) = ycord(i)
taulu(i,4) = aika(i)
taulu(i,5) = kuitti(i)
taulu(i,6) = pyynto(i)
i=i+1
Loop

ja moduulissa on:

Public id(30000)
Public xcord(30000)
Public ycord(30000)
Public aika(30000)
Public kuitti(30000)
Public pyynto(30000)
Dim taulu(1 to 30000, 1 to 6)

ja tulee virheilmoitus:
Compile error: Sub or Function not defined

Osaisko joku neuvoo et missä kohti menin mettää?
koodi toimi vielä kun toi taulukko ei ollu moduulissa.

Antti Laaksonen [10.08.2006 10:36:26]

#

Muuta myös viimeisen taulukon (taulu) määrittelyksi Public. Muuten taulukko näkyy vain moduulin sisällä.

kayttaja-4976 [10.08.2006 10:39:49]

#

Dyer kirjoitti:

Do While id(i)>0
taulu(i,1) = id(i)
taulu(i,2) = xcord(i)
taulu(i,3) = ycord(i)
taulu(i,4) = aika(i)
taulu(i,5) = kuitti(i)
taulu(i,6) = pyynto(i)
i=i+1
Loop

Tuo koodi näyttää tekevän looppia niin pitkään kuin i on suurempi kuin nolla :/ -> ikuisesti

Dyer kirjoitti:

ja tulee virhe ilmoitus:
Compile error: Sub or Function not defined

Moduulissa koodin pitää olla Sub tai Function -koodien välissä. Moduulissa General Declarationissa et voi muuta kuin sananmukaisesti määritellä erilaisia juttuja. Eli siis näin:

Sub TeeJotain (Param1 As String, Param2 As String)
    MsgBox("Parametri 1: " & Param1)
    MsgBox("Parametri 2: " & Param2)
End Sub
'taikka
Function TeeJotain (Param1 As String, Param2 As String) As String
    TeeJotain = Param1 & Param2
End Function

EDIT: Et tainnut tarkoittaa tätä. :(

Blaze [10.08.2006 10:46:19]

#

kayttaja-4976 kirjoitti:

Tuo koodi näyttää tekevän looppia niin pitkään kuin i on suurempi kuin nolla :/ -> ikuisesti

Ei, vaan kunnes id-taulusta tulee vastaan nolla tai pienempi.

kayttaja-4976 kirjoitti:

Dyer kirjoitti:

ja tulee virhe ilmoitus:
Compile error: Sub or Function not defined

Moduulissa koodin pitää olla Sub tai Function -koodien välissä. Moduulissa General Declarationissa et voi muuta kuin sananmukaisesti määritellä erilaisia juttuja.

Sinällään ihan oikein, mutta tuo virheilmoitus viittaa siihen, että haetun nimistä aliohjelmaa tai funktiota ei löydy. Tässä tapauksessa siis VB kuvittelee tuota taulua sellaiseksi, kun sitä ei muuttujaksikaan ole määritelty. Tai siis on, muttei niin, että se näkyisi sinne, missä siihen viitataan. Antin mainitsemalla muutoksella homman pitäisi alkaa toimia.

Dyer [10.08.2006 12:47:07]

#

Antti Laaksonen kirjoitti:

Muuta myös viimeisen taulukon (taulu) määrittelyksi Public. Muuten taulukko näkyy vain moduulin sisällä.

Juu kiitoksia n__n
nyt toimii ;-)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta