Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23
  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    [QUOTE]Originariamente inviato da zxc80
    Io non capisco perchè se l'elemento "obj.Valore" punta già all'area di memoria in cui voglio memorizzare la proprietà, io devo anche usare "mValore" ...
    [QUOTE]

    L'area in cui viene effettivamente memorizzato il valore e' la variabile privata della classe.

    obj.Valore NON e' un'area di memoria ma e' soltanto il "nome pubblico" con cui ci si riferisce per ottenere il valore della variabile privata.

    Niente di assurdo quindi ... ma perfettamente corretto.

    E' come se salvassi il dato in "mValore" e poi attraverso "obj.Valore" andassi a pescare quanto sta scritto in "mValore"...
    Esatto! E' cosi' ... e cosa c'e' di strano?

    mi sembra come se "mValore" fosse solo una variabile d'appoggio.
    Possibile che per ciascuna variabile che definisco debba anche definire un'ulteriore variabile per memorizzare i dati ...
    Forse l'equivoco sta qui ... per ogni proprieta' devi definire una variabile privata che ne contenga il valore ...

    Tu NON definisci variabili ma proprietà ... per ogni proprietà una variabile privata ...

    Inoltre quando poi crei codice e scrivi "obj.", compare l'elenco di scelta rapida (oppure anche dal visualizzatore oggetti si può vedere)
    nel quale vi è un numero di termini doppio rispetto alle proprità definite (compaiono "mValore" e "Valore").
    Veramente nell'elenco dopo obj. compare solamente Valore ...

    Nel visualizzatore di oggetti ci sono anche le componenti private (leggi bene ... riporta le private e le pubbliche) solamente perche' nel tuo progetto
    c'e' anche il sorgente della classe.

    Se tu compili la classe da sola in una DLL e poi referenzi la DLL in un tuo progetto, allora vedrai solamente la parte pubblica ...

    Dato che lavoro con VBA io ho sempre scritto le Sub in un Modulo lanciandole col tasto del triangolino, non sento l'esigenza di usare un Form...
    Gia' ... ma io non lavoro con VBA e quello che ti ho detto vale per il VB6 ... anche se sono praticamente certo che valga anche per il VBA ...

    In ogni caso NON e' possibile lavorare con gli eventi in un modulo ... il modulo NON gestisce eventi ...

    Prova ad inserire un Command in un modulo e gestiscine il Click ...

    Se riuscissi a far digerire la dichiarazione con WithEvents secondo me dovrebbe funzionare.
    Non puoi.

    Io ti ho mostrato l'uso del WithEvents ... ma non posso cambiare le funzionalita' del linguaggio ...

    Da MSDN


    Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . .

    The Dim statement syntax has these parts:

    Part Description
    WithEvents Optional. Keyword that specifies that varname is an object variable used to respond to events triggered by an ActiveX object. WithEvents is valid only in class modules. You can declare as many individual variables as you like using WithEvents, but you can't create arrays with WithEvents. You can't use New with WithEvents.


    Come posso dire ad Alka che dovrebbe modificarmi il linguaggio nel titolo, mettendo VBA??
    Questo non lo so ma penso che alka lo fara' da solo quando leggera' ...

  2. #12
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141
    Si, ok questa dicitura l'ho vista anche io dalla guida di VBA, però non riesco a capire cosa vuole dire

    Tu nel tuo esempio che mi hai fatto non hai scritto "WithEvents" nel Modulo di Classe, bensì lo hai scritto nel modulo del Form...non mi sembra aderente a quanto dice MSDN di metterlo solo nel modulo di classe

    codice:
    Private WithEvents obj As MiaClasse
    Come faccio inoltre as usare "WithEvents" nel modulo di classe: se in tale modulo di classe sviluppo la classe (intesa come modello di oggetto), non posso dichiarare un oggetto che debba seguire la classe in costruzione con "WithEvents"
    Sto facendo confusione oppure la mia domanda è lecita?!?! VVoVe: VVoVe:
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  3. #13
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In realta' non e' ben spiegato ... vuole dire che la WithEvents va usata solamente per oggetti creati attraverso un modulo di classe ...

  4. #14
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141
    Esatto, concordo anche io con la tua interpretazione ...sul mio libro ho letto che un oggetto creato correttamente si comporta bene sia che si usino gli eventi e sia che non si usino
    Solo che
    - istanziando un oggetto senza "WithEvents", l'oggetto non è in grado di rilevare gli eventi (che devono comunque essere costruito nel modulo di classe
    - se invece uso "WithEvents" l'oggetto è in grado di rilevarli

    Resta il mio problema di non riuscire ad istanziare il mio oggetto. Mi è venuto in mente però di farlo in un Form per vedere se li è possibile (come hai fatto tu)...proverò ma questa cosa mi sembra molto strana...potrei non aver bisogno di un form e devo per forza crearlo per gestire tale oggetto!?!?
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  5. #15
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sì ... per gestire gli "eventi" dell'oggetto ...

    Hai mai visto altri oggetti (anche standard) con eventi gestiti in un modulo?

  6. #16
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141
    Ma se io definisco un oggetto come una cella di excel, di per se questo non è un oggetto?? Io penso di si...mi sembra di aver letto però che va per gli oggetti Active-X. Tu che sei un esperto mi puoi mica dire cosa sono??
    Forse il Form è uno di questi, mentre il riferimento di cella no??
    Sono riuscito a fare funzionare una struttura simile a quella che mi hai inviato, grazie per l'aiuto!!
    Tornando alla guida però credo sia sbagliato dire che "withevents" sia da usarsi solo nei moduli di classe perchè per come ho capito non è li che si deve usare, ma nei moduli di Form e forse te che sei esperto lo usi nei vari "moduli" che ha il VB6, ma non nei classi moduli comuni...stavo cercando di capire che funzione aveva questo costrutto, ma avevo preso una bella cantonata...non avevo nessun esempio da testare, grazie tanto e ciao
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La "cella di Excel" puo' essere considerata un oggetto (meglio, un insieme di ogetti ...) ma questo cosa c'entra? Quali sono gli eventi della cella che gestisci in un modulo?

  8. #18
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141
    Mettiami caso che voglia fare partire una routine (o fare semplicemente qualche cosa) qunado il valore della cella cambia oppure quando applico il grassetto...secondo me si potrebbe fare con un evento definito in modo opportuno
    Sono solo un dilettante ma in breve questi oggetti ActiveX cosa sono??
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  9. #19
    anche io sn nuova di qui e con i computer me la cavo si e no comunque ho questo link molti interessante per voi <nospamplease> vi potrebbe servire


    ciauuuuuuuuu

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da letter
    anche io sn nuova di qui e con i computer me la cavo si e no comunque ho questo link molti interessante per voi <nospamplease> vi potrebbe servire


    ciauuuuuuuuu

    ???

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.