Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di nifriz
    Registrato dal
    Jan 2008
    Messaggi
    2,058

    [Delphi/Lazarus] Dichiarazione di una variabile globale ...

    Ciao a tutti,
    ho bisogno di dichiarare nella mia MainUnit una variabile Globale, ossia vista da tutta la unit dall'inzio alla fine, quindi prima dell'implementation una cosa del genere:

    ...
    ...
    var
    MainForm: TMainForm;
    MIAVAR: TMIAVAR;

    implementation
    ...
    ...


    Però l'idea di utilizzare una variabile globale non mi piace molto, posso in qualche altro modo aggirare il problema?
    Spero di essere stato chiaro...

    attendo risposte

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Re: [Delphi/Lazarus] Dichiarazione di una variabile globale ...

    Originariamente inviato da nifriz
    Ciao a tutti,
    ho bisogno di dichiarare nella mia MainUnit una variabile Globale, ossia vista da tutta la unit dall'inzio alla fine, quindi prima dell'implementation una cosa del genere [...]
    Dire "vista da tutta la Unit" è improprio: si dovrebbe verificare cosa ha bisogno di utilizzare una variabile... se si tratta di procedure o funzioni, oppure di classi.

    Originariamente inviato da nifriz
    Però l'idea di utilizzare una variabile globale non mi piace molto, posso in qualche altro modo aggirare il problema?
    Come ho detto prima, dipende dall'uso che devi fare di quella variabile, e anche dallo scopo che le viene attribuito. A cosa serve?

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di nifriz
    Registrato dal
    Jan 2008
    Messaggi
    2,058
    La variabile mi serve perchè leggo un file generato ad-hoc, devo leggerlo tutto e spaccarlo buttando in questa variabile che è un array of TMIOTIPO (format a sua volta da n. campi)...

    Questa variabile la carico nella prima routine ed ho bisogno di utilizzarla più volte nel programma, in diverse procedure ed eventi, per quello mi serve una variabile globale, PURTROPPO.

    Comunque ho "risolto" creando una Unit contenente tutte le mie dichiarazioni di tipi e variabili ed includendola nella MainUnit.

    Grazie lo stesso

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    L'uso di una variabile globale non è l'unica soluzione viabile: si può anche creare un campo in una classe, magari quella del Form stesso, accessibile tramite una proprietà da altre classi, senza mescolare i paradigmi procedurali all'OOP che è un'opportunità utile in molti casi ma da usare con parsimonia, altrimenti perdi la traccia di "chi" modifica "che cosa" nella catena di messaggi (chiamate ai metodi) che si scambiano gli oggetti.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.