Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [VB6] Option Explicit o Public?

    Salve ragazzi, sto realizzando un applicativo in VB6 nella quale gestisco la Funzione MSComm1_OnComm() generata da un evento di dati in ingresso sulla COM. Ora dato che lavoro su più forms e il primo diciamo che deve avere comunque una visione generale delle porte che sono settate aperte o chiuse ho pensato di inizializzare la componente MSComm1_OnComm() sul primo form e al caricamento dello stesso form faccio settare i vari parametri della porta (COM1 nel mio caso). Ora però, dato che i dati dalla COM li ottengo nell'ultimo form esso, non so perché, non riporta all'evento del primo form pur non avendo Scaricato il primo form, pur avendo utilizzato Public MSComm1_OnComm(), pur avendoci messo sopra "Option Explicit".
    Come potrei dunque richiamare una funzione, generata da un evento, che è stata inizializzata nel primo form?
    Dovrei forse metterlo nei moduli?
    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito nulla ... soprattutto cosa c'entra l' Option Explicit ...

    P.S. Questa, come sai, non è la sezione per il VB
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758

    Re: [VB6] Option Explicit o Public?

    Originariamente inviato da Anaconda25
    Ora dato che lavoro su più forms e il primo diciamo che deve avere comunque una visione generale delle porte...
    MSComm1 è un controllo ActiveX invisibile, quindi non influisce sulla "visione generale". Esso deve essere posizionato, a design time, nel form in cui devono essere gestiti i suoi eventi. Non altrove.

    "Option Explicit", come ti ha detto Oregon, non c'entra nulla. Il fatto che tu ne parli evidenzia però una certa confusione su nozioni base, a cui sarebbe bene porre rimedio prima di avventurarsi oltre. E' solo un consiglio naturalmente.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: Re: [VB6] Option Explicit o Public?

    Originariamente inviato da Grumpy
    "Option Explicit", come ti ha detto Oregon, non c'entra nulla. Il fatto che tu ne parli evidenzia però una certa confusione su nozioni base, a cui sarebbe bene porre rimedio prima di avventurarsi oltre. E' solo un consiglio naturalmente.
    Un ottimo consiglio ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Anaconda25
    ho pensato di inizializzare la componente MSComm1_OnComm() sul primo form e al caricamento dello stesso form faccio settare i vari parametri della porta (COM1 nel mio caso).
    OK.

    Originariamente inviato da Anaconda25
    Ora però, dato che i dati dalla COM li ottengo nell'ultimo form esso, non so perché, non riporta all'evento del primo form pur non avendo Scaricato il primo form, pur avendo utilizzato Public MSComm1_OnComm(),
    Dipende dal codice che usi, ma in questo caso è sbagliato metterlo a Public.

    Originariamente inviato da Anaconda25
    pur avendoci messo sopra "Option Explicit".
    Come ti hanno già detto non c'entra niente.
    Option Explicit va sempre su tutti i moduli (frm, bas, cls, ...) ed esiste un'apposita opzione che se attivata lo fa automaticamente (cosa buona e saggia). Vedi Opzioni -> Dichiarazione di variabile obbligatoria

    Originariamente inviato da Anaconda25
    Come potrei dunque richiamare una funzione, generata da un evento, che è stata inizializzata nel primo form?
    E' sbagliato il concetto.
    OnComm() NON è una funzione, ma un evento.

    Originariamente inviato da Anaconda25
    Dovrei forse metterlo nei moduli?
    No.

  6. #6
    Ok ragazzi, con Option Explicit avevo solo fatto un tentativo all'estremo e so che MSCOmm1_OnComm() è generato da un evento...
    Quindi va beh devo per forza metterlo nel form in cui verrà utilizzato.
    Vorrà dire che utilizzerò un paio di variabili inizializzate nel modulo per riportare lo stato della porta ad un form che viene prima.
    Grazie a tutti.

  7. #7
    Oregon mi fai capire dove devo portare le discussioni per Il VB se non in
    HTML.it forum : Lato server : ProgrammazioneVisual Basic e .Net Framework ?

  8. #8
    Originariamente inviato da Anaconda25
    HTML.it forum : Lato server : ProgrammazioneVisual Basic e .Net Framework ?
    All'inizio l'avevi postata in Programmazione, l'ho spostata io in VB & .NET Framework.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Anaconda25
    Oregon mi fai capire dove devo portare le discussioni per Il VB se non in
    HTML.it forum : Lato server : ProgrammazioneVisual Basic e .Net Framework ?
    Appunto ... è proprio lì che l'avresti dovuto postare ma non ti sei accorto neanche che l'avevi postato da un'altra parte e che te l'hanno spostato ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Anaconda25
    Ok ragazzi, con Option Explicit avevo solo fatto un tentativo all'estremo e so che MSCOmm1_OnComm() è generato da un evento...
    L'OnComm è un evento, non è generato da un evento ...

    Quindi va beh devo per forza metterlo nel form in cui verrà utilizzato.
    E' ovvio ...

    Vorrà dire che utilizzerò un paio di variabili inizializzate nel modulo per riportare lo stato della porta ad un form che viene prima.
    Purtroppo non ho ancora compreso qual era il tuo problema ... comunque ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.