Newsgroup: it.comp.lang.visual-basic
Titolo: Quante variabili pubbliche???

Ciao a tutti,
ho un progetto che è diventato pachidermico e sono obbligato necessariamente 
a questo punto a dichiararmi delle variabili pubbliche all'apertura del 
programma, per varie necessità.
Vorrei sapere se esiste un limte "ragionevole" di variabili pubbliche 
dichiarate in apertura per non appesantire il software e per non rallentare 
il sistema.
A questo proposito sarebbe inteessante capire il ciclo di vita di una 
variabile pubblica. Ossia in che parte di memoria viene allocata e quanto 
può prendere in termini di "spazio" una variabile che per esempio rimanda ad 
un percorso di un file.
Grazie a chi vorrà aiutarmi
IAK

un percorso di un file.
Lo spazio che prende una variabile si sa, dipende dal tipo.
Se tu ad esempio dichiari:
   Global MyString as String
e poi nel programma scrivi MyString ="" avrai un consumo di memoria solo per il
puntatore.
Il ciclo di durata dipende dalla famosa 'Garbage collection' che mette a posto
la memoria ogni tanto.
Leggi questo per capire i puntatori in VB:
http://www.codeproject.com/vbscript/how_to_do_pointers_in_visual_basic.asp?df=100&forumid=1232&exp=0&select=1679325
--
ciao
  Stefano

 ha scritto

non so cosa intendi per pachidermico. per semplificarmi la vita, sto 
riunendo per tipo (dati, gestione file, ...), in due-tre progetti nuovi 
abbastanza grossi, miriadi di vecchi progetti fatti negli anni per gestire i 
dati miei e dell'ufficio.
per semplicita' ed efficienza uso dao (anche in lan, visto che con le nostre 
esigenze nel complesso da' molti meno problemi di ado), e usando pochissimo 
le classi uso molto i bas.
quindi ho cose tipo
    dim maindb as database
settata all'apertura del frmMain, e chiusa quando si chiude il programma.
in 10 anni di vb non ho *mai* avuto particolari problemi.
anzi, in uno dei progetti nuovi uso un form webbrowser a istanze multiple. 
controllato sul taskman: per usare tanta ram/swap quanta ne stava usando 
firefox con 2 tab aperti, ho dovuto aprire 13 tab col webbrowser.
i problemi di memoria erano forse sui pc vecchi, non su questi nuovi in cui 
vai a chunk di 512.
piuttosto, se a progetto aperto dovessi fare un
    set maindb=ciccio.mdb o set maindb=nothing
quando  all'apertura maindb era pippo.mdb, vari moduli si troverebbero 
spiazzati. quindi stai attento all'uso che fai delle var pubbliche. in linea 
di massima, crea variabili locali. solo se proprio non ci stai, spostale 
pubbliche in un bas.
per semplicita', io faccio sempre un basDeclare.bas in cui concentro tutte 
le dichiarazioni che servono pubbliche: dll e costanti raggruppate per scopo 
(es shellexecute), variabili per tipo (stringhe, logiche, long...).
hth, ciao, a.

 di un file.
Non penso che questo sia un problema, a meno che quella variabile contenga 
la Divina Commedia.
Secondo me, e come altri hanno detto, l'aspetto rischioso è che, soprattutto 
in un programma pachidermico come il tuo, magari si finesce per perdere il 
controllo di queste variabili.
ciao
greg 


Perdere il controllo delle variabili non č un problema visto che sono 
dichiarate all'inizio
e poi non vengono piů toccate.
Sono per lo piů variabili stringa che che vengono aperte all'apertura del 
software e poi
lasciate lě. Le variabili vengono lette da un file di testo.
Grazie
Ciao
IAK 

 ha scritto nel messaggio
news:fOivh.28560$bH4....@tornado.fastwebnet.it...

Se si tratta di variabili "ambiente" che devono vivere per tutta la vita
dell'applicativo
è anche utile averle tutte comode, l'importante è non confondere le cose...!
A mio avviso non è normale avere 1000 variabili ambiente quindi al di là
della fattibilità
che come ti hanno detto porta via solo area di stack(e se non usi funzioni
di ricorsione a livelli
elevati direi che è molto capace come dimensione) spesso serve
razionalizarne l'utilizzo.
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 ha scritto nel messaggio 
news:epkqks$c7i$1...@aioe.org...

Sarebbero una trentina di variabili dichiarate in un "miomodulo .bas"....

> Sarebbero una trentina di variabili dichiarate in un "miomodulo .bas"....
Beh 30 in se sono limitate(sempre non contengano la divina commedia come
ti hanno già detto), perchè mai ti sei posto il problema...?


 ti hanno già detto), perchè mai ti sei posto il problema...?
Per scrupolo?!