Newsgroup: it.comp.lang.visual-basic
Titolo: Passaggio di una array ad una procedura di una classe

Riciao,
ho cercato un p' con google, ma, anche in questo ng, malgrado molti post
che si avvicinavano al mio problema, non sono riuscito a risolvere.
Ho iniziato un nuovo progettino semplice semplice in VB6.
Ho un modulo .bas, un form ed una classe.
Nel modulo .bas dichiaro una matrice
     Dim Codes() as string
Ho una classe cls_PrintCode in cui c'e' una procedura
    Friend Sub PrintCode(CodeString() as String)
Come vedete, vorrei passare una array di stringhe a questa procedura.
Da un command nel form, ho provato a scrivere:
    ReDim Codes(1) ' do una dimensione alla matrice
    Codes(0) = "Stringa" ' assegno un valore al primo indice della matrice
    PrintCode.PrintCode (Codes())
Chiaramente, e' stata dimensionata una variabile come oggetto della classe
    Dim PrintCode as cls_PrintCode
e nella procedura chiamante, e' stata chiamata un'istanza all'oggetto
    Set PrintCode = New cls_PrintCode
Quello che non riesco a fare, e' passare la matrice Codes() della
procedura chiamante come parametro CodeString() della sub all'interno
della classe.
Se provo a mandare in esecuzione cosi', VB mi risponde con un errore Tipo
non corrispondente. Previsti matrice o tipo di dati definito dall'utente.
Ma Codes() e' una matrice!
Come riesco a sorpassare questo problema?
Grazie... Maurizio
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Come riesco a sorpassare questo problema?
hai provato a scrivere codes invece di codes() ?
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo


 hai provato a scrivere codes invece di codes() ?
Se intendi nella chiamante.. si, ho anche riprovato
PrintCode.PrintCode (Codes)
Stesso errore.
-- 


 PrintCode.PrintCode (Codes)
http://groups.google.it/group/it.comp.lang.visual-basic/browse_frm/thread/fecec5f5b48152ea/76dd2e2085bb6990?q=zanna+vb+call+byval+parentesi&rnum=1&hl=it#76dd2e2085bb6990
Ciao 


http://groups.google.it/group/it.comp.lang.visual-basic/browse_frm/thread/fecec5f5b48152ea/76dd2e2085bb6990?q=zanna+vb+call+byval+parentesi&rnum=1&hl=it#76dd2e2085bb6990
...
Se il problema e' nelle parentesi, per il discorso del passaggio ByVal, ho
provato anche con:
   PrintCode.PrintCode Codes()
ma l'errore e' lo stesso.
Altro?
TNX... Maurizio


 ha scritto nel messaggio
news:dbr4c8$7c2$1...@news.newsland.it...

Guarda che la variabile Codes() che passi alla PrintCode non è mica la stessa
dichiarata nel modulo .BAS, infatti quest'ultima ha visibilità locale al modulo
(essendo dichiarata con Dim).
Quella che passi a PrintCode invece è un array di variant definito dinamicamente
nella sub Command1_Click, per questo hai l'errore di compilazione!
Ciao
Raf

 (essendo dichiarata con Dim).
...
Vabbe', sono un cog...ne!!
Ecco, quando si fanno le prove, gli errori per copia/incolla e per il
focalizzare l'attenzione su tutto, meno che sulle cose piu' banali!
Grazie e ciao... Maurizio


 
strumenti->opzioni->"dichiarazione di variabili obbligatoria" spuntato e 
vedi che non ti succede piu' , in testa ai moduli etc, etc apparira' una 
linea "Option Explicit"
attento che da quel momento in poi devi dichirare tutte le variabili che usi
P.S. il VB di default ha questa opzione spenta :-(