View Full Version : [VB6] Richiamare una funziona presente di una form diversa
OrcaAssassina
14-03-2006, 13:25
Ho 2 form aperte, una "sotto" ed una "sopra" attiva.
Premendo un pulsante vorrei che eseguesse una Function presente nella form sotto
Come faccio a richiarmarla
Form2 - Quella sotto
Form3 - Quella sopra
Call conteggio
E' la funziona da richiamare
Codice presente in form 3
Private Sub Command2_Click()
' inserire il richiamo alla Function nella Form3
End Sub
Come faccio??
Ciao e grazieeeeeeeeeee
La cosa migliore sarebbe inserire le function e le sub (che devono essere usate in punti diversi del progetto, esempio in form diverse) in un modulo .bas ...
E' facile, basta che aggiungi al progetto un modulo .bas e ci scrivi dentro le funzioni e subroutine pubbliche che ti servono ... poi le richiami normalmente ...
OrcaAssassina
15-03-2006, 11:25
Mi va in errore se sposto tutto il codice della function dentro al modulo:
Public function apertura
......
........
.....
......
end function
Quando lo mando in esecuzione mi dice dice variabile non dichiarata.
Non è una cariabile perchè si tratta di una combobox.text
Non so perchè fa cos
Non puoi usare nei moduli degli oggetti o controlli dichiarati nelle form ... la textbox (o combobox, o altri controlli) che hai usato fa parte del form e non del modulo ...
Modifica la function aggiungendo tra gli argomenti un controllo textbox, così da passarglielo.
Es.
Public Function nomeFunzione (TB as textbox) as integer
...
... = TB.text ' usi il controllo TB generico all' interno della funzione
...
end function
Quando vai a richiamare dal form la funzione, le passi il nome esatto del controllo:
x = nomeFunzione(combobox.text)
E' solo un esempio, modifica il tipo di controllo in base alle tue esigenze.
Puoi anche controllare nella guida in linea del vb6 le collezioni di controlli così da poterli usare bene nelle funzioni.
OrcaAssassina
16-03-2006, 22:14
Ok grazie proverò!!!!!
... Quando vai a richiamare dal form la funzione, le passi il nome esatto del controllo:
x = nomeFunzione(combobox.text)
...
Ops ho sbagliato ... devi passare solo il nome del controllo, non anche la sua proprietà:
x = nomeFunzione(combobox)
Oppure se vuoi proprio usare il controllo del form (perdendo la generalità della funzione) devi specificare il percorso del controllo:
ES modulo:
public function nomeFunzione(....) as ....
...
... = form1.textbox1.text ' form1 o il nome del form a cui appartiene il controllo
...
end function
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.