Codi i Dades: Privat o Públic


Als projectes visuals, totes les dades i constants dels objectes Window, MDIWindow o DialogBox són privades, és a dir, només accessibles a l'objecte i els seus controls fill. Per tal de compartir les dades amb altres objectes del projecte, afegiu un o més mòduls (objectes Module). Els mòduls són objectes de codi, és a dir, que no tenen cap finestra ni poden contenir controls, però tot el codi que hi tinguin és Public per defecte (comú a tot el projecte). Si voleu que les dades d'un mòdul siguin privades, feu el següent:

Per projectes visuals:

Poseu la propietat PublicData a FALSE

Per projectes clàssics:

Desmarqueu l'opció Fes globals totes les variables de les Propietats del projecte


Per als objectes Window, MDIWindow i DialogBox, l'Easy Code declara els procediments com a Private per defecte, mentre que per als objectes Module els declara com a Public. Com que l'Easy Code ignora la directiva Option Proc, tots els procediments són Public, si no es declaren explícitament com a Private, per tal que puguin ser accedits per qualsevol altre objecte del projecte. De fet, tots els procediments són Public per defecte si no es declaren Private ni Public, per tant, els procediments següents són exactament iguals:

AnyName Proc
    Ret
AnyName EndP

i

AnyName Proc Public
    Ret
AnyName EndP


Si voleu que un procediment sigui privat, heu d'afegir-li la corresponent paraula reservada (Private), i llavors només serà accessible dins de l'objecte on es troba:

AnyName Proc Private
    Ret
AnyName EndP

Per tant, si poseu la propietat PublicData a FALSE (projectes visuals), o desmarqueu l'opció Fes globals totes les variables (projectes clàssics), i tots els procediments són declarats com a Private, tindreu un mòdul privat, és a dir, només accessible des del propi mòdul. D'altra banda, posant la propietat PublicData a TRUE (projectes visuals), o marcant l'opció Fes globals totes les variables (projectes clàssics), i no declarant com a Private cap dels seus procediments, donarà com a resultat un mòdul públic, on les dades i el codi seran accessibles des de qualsevol altre objecte del projecte.

És una bona pràctica mantenir com a Private tots els procediments d'un objecte finestra (projectes visuals) i afegir un o més mòduls per compartir el codi i les dades que siguin comunes. D'aquesta manera el vostre codi serà més clar, semblant a llenguatges de més alt nivell, i menys exposat a errors. Així funciona l'Easy Code quan escriu codi per un procediment: tots els procediments d'un objecte finestra són declarats Private (a menys que els feu Public), mentre que tots els procediments d'un objecte mòdul són declarats Public (a menys que els feu explícitament Private). De fet, l'Easy Code no escriu ni Public ni Private, la qual cosa significa que són Public.

OBSERVACIONS: L'Easy Code se'n cuida dels prototips de tots els procediments existents al projecte. Per tant, NO CAL escriure ni incloure cap sentència Proto, per què no es necessiten en els projectes de l'Easy Code.

IMPORTANT: Recordeu que l'Easy Code ignora la directiva Option Proc, per tant, per tal que un procediment sigui privat, cal que inclogui la paraula reservada corresponent (Private). Si no el declareu ni Public ni Private, el procediment serà considerat Public.