Page 1 of 1

variabili pubbliche

Posted: Tue Aug 05, 2008 4:33 pm
by max
Premetto: sono agli inizi, proprio all' "abc". Son 3 anni che dico di partire con FWH, ma il tempo è sempre tiranno. (Stavolta spero sia la volta buona!)

Ho un banale problema:
Devo dichiarare più variabili in modo che siano visibili in tutte le funzioni della mia procedura. In CA-Clipper usavo la public ed anche con FWH ho provato con:

public miaVAR

ma se uso la variabile in un'altra funzione/procedura il compilatore mi dà errore "ambiguous reference ecc.ecc." e mi tocca specificarla quindi all'interno di ciascuna funzione.
C'è un altro sistema?
grazie.

MT

Re: variabili pubbliche

Posted: Tue Aug 05, 2008 9:48 pm
by Enrico Maria Giordano
Primo: evitare le variabili pubbliche come la peste. Sono il modo migliore per scrivere programmi incomprensibili e non manutenibili.

Detto questo, per usare una variabile pubblica in un modulo (o in una funzione) diverso da quello in cui è stata dichiarata devi specificare la dichiarazione MEMVAR oppure il prefisso M -> (analoghi a FIELD e FIELD -> per i campi).

Se non vuoi tutto questo basta che elimini lo switch di compilazione che certamente non usavi in Clipper (mi sembra sia /w) ma questa opzione è assolutamente sconsigliata in quanto senza quella segnalazione tu potresti, ad esempio, sbagliare il nome di una variabile e il compilatore non ti avviserebbe.

EMG

Posted: Thu Aug 07, 2008 2:45 pm
by max
Ok. Con la MEMVAR in effetti risolvo tutto.
grazie.

MT