Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    82

    [VB6] variabile locale???

    Salve, uso da poco vb6 e non ho ben chiaro una cosa: da quello che ho appreso fin'ora una variabile dichiarata all interno di una specifica routine dovrebbe essere locale, quindi non disponibile per altre routine.
    Ho fatto un programma dove dichiaro una stringa per una msgbox:

    Private Sub Seleziona_Click()
    Dim Msg As String
    ........
    Msg = MsgBox("Devi selezionare un opzione", _
    vbCritical, "Errore")
    End Sub

    ora, questa stringa Msg dovrebbe valere solo per questa routine, ma quando in altre routine di un altro form uso la stessa Msg per altre Msgbox non mi da nessun tipo di errore, la considera variabile globale a quanto pare :master:
    Sono un po confuso...qualcuno mi aiuta?
    grazie

  2. #2
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    anch'io non sono un esperto, ma per quanto ne so quando visual basic trova una variabile non dichiarata la dichiara come variant.
    se però in un modulo si specifica all'inizio
    codice:
    Option explicit
    tutte le variabili devono essere dichiarate.
    S'i fosse foco, arderei 'l mondo

  3. #3
    Come giustamente hai detto la variabile che tu dichiari nella routine è una variabile Locale. VB permette di non dichiarare le variabili, ovvero le dichiara lui da solo quando compila il codice nel caso in cui non sia stato il programmatore stesso ad esplicitare il tutto. Per questo motivo è sempre bene mettere all'inizio del codice (come ha detto anche cik) la stringa "Option Explicit", che fa sì che il programmatore debba per forza dichiarare tutte le variabili.
    La variabile Msg che viene "vista" dalle altre routine non è altro che una variabile Variant vuota che VB dichiara in compilazione.

    Ciao
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

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.