Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195

    [VB6] Passare un tipo definito dall'utente in una funzione

    In Module1:
    codice:
    Public Type myData
        Nome As String
        Cognome As String
    End Type
    In Form1:
    codice:
    Private Sub Command1_Click()
        Dim x As myData
        x = Form2.Nominativo
        MsgBox x.Cognome
    End Sub
    In Form2:
    codice:
    Public Function Nominativo() As myData
        Nominativo.Cognome = "Anderson"
        Nominativo.Nome = "Thomas"
    End Function
    In tre parole: PERCHE' NON FUNZA?
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

  2. #2
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    E' un gran problema di vb questo! Cioè è sempre lì a rompere!!
    Comunque, come dice il messaggio di errore,Non puoi mettere in una funzione PRIVATA un tipo def. dall'utente PUBBLICO.
    Quindi penso che:
    -O metti il codice in form2 in un modulo
    -oppure lo dichiare come private, ma nn puoi accederci da form1.

  3. #3
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195
    Originariamente inviato da iguana13
    -oppure lo dichiare come private, ma nn puoi accederci da form1.

    Speravo che non fosse così...
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

  4. #4
    Invece di definire il tipo myData com l'istruzione Type, prova a definire una classe:
    codice:
    'classe myData
    Public Nome As String
    Public Cognome As String
    
    'in Form1
    Private Sub Command1_Click()
       Dim x As myData
    
       Form2.Show
       Set x = Form2.Nominativo
       MsgBox x.Cognome
    End Sub
    
    'in Form2
    Public Function Nominativo() As myData
       Dim md As New myData
    
       md.Cognome = "Anderson"
       md.Nome = "Pamela"
    
       Set Nominativo = md
    End Function
    Chi non cerca trova.

  5. #5
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195
    PORCA MISERIA! FANTASTICO!

    E il bello è che ci avevo provato ad usare una classe, ma quando mi ha dato un errore ho pensato che fosse lo stesso problema del tipo utente...

    GRANDE TAS! :mavieni:


    Ehm... Cognome e Nome erano Thomas A. Anderson (Neo), non Pamela Anderson... :gren:
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

  6. #6
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195
    Originariamente inviato da Gammino
    non Pamela Anderson... :gren:
    Ah, ho capito! E' la sorella, giusto? :gren:
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.