Passaggio dell'oggetto Me ad una funzione

WorldWideWeb

Utente Attivo
6 Apr 2008
78
0
6
Calabria
Salve. Ho scritto il seguente codice VB6:

form1:

Private Sub fn1()
form2.formCalling (Me)
End Sub


form2:

Dim frmCalling As Form

Public Sub formCalling(ByVal frm As Form)
frmCalling = frm
End Sub

Private Sub Form_Unload()
frmCalling.SetFocus
End Sub

Il mio obiettivo è quello di ritornare sul form chiamante alla chiusura del form chiamato!
Se eseguo il codice ottengo il seguente errore in corrispondenza di
form2.formCalling (Me):

Errore di run-time '13'
Tipo non corrispondente
 
A me funziona. Non so cos'hai combinato. Ecco il codice (in form1 ho aggiunto un pulsante che equivale al tuo fn1). (In Unload non hai il parametro, ma forse hai sbagliato solo a copiarlo).
Form1:
Codice:
Private Sub Command1_Click()
    Form2.formCalling Me
    Form2.Show
End Sub
Form2:
Codice:
Dim frmCalling As Form

Public Sub formCalling(ByRef frm As Form)
    Set frmCalling = frm
End Sub

Private Sub Form_Unload(Cancel As Integer)
    frmCalling.SetFocus
End Sub
Ho aggiunto form2.show per poter richiamare unload chiudendo la form2.
 
Noooooo... che stupido che sono!
Ho scritto

form2.formCalling (Me)

invece di

form2.formCalling Me

E' tutta colpa degli altri linguaggi che uso... Java, C, PHP, ....
E' proprio vero che gli errori incomprensibili sono quelli più stupidi!
Ora funziona!
Grazie per le risposte!
 

Discussioni simili