Lunghezze e max dimensioni procedure in vb.
(09/03/03)
In risposta ad una domanda, Michele ha trovato una
documentazione che, per i suoi contenuti, potrà interessare diversi
"pellegrini", sull'argomento in oggetto, e come tale la riportiamo
quasi integralmente.
Limitazioni relative ai
progetti.
Un singolo progetto può contenere fino a 32.000 identificatori, tra
cui form, controlli, moduli, variabili, costanti, routine, funzioni a
oggetti. I nomi di variabili possono essere composti da un massimo di
255 caratteri, i nomi di form, controlli, moduli a classi da un
massimo di 40 caratteri. Non esiste alcun limite al numero di oggetti
per un progetto. |
Limitazioni relative ai
controlli
Ciascun controllo di tipo non grafico, ovvero tutti i controlli tranne
linee, forme, immagini ed etichette, utilizza una finestra. Ciascuna
finestra utilizza a sua volta risorse di sistema. II numero massimo di
finestre che è possibile utilizzare contemporaneamente risulta
pertanto limitato a dipende dalle risorse di sistema disponibili a dal
tipo di controlli utilizzati.
Per limitare il consumo di risorse di sistema, è consigliabile creare
o visualizzare gli elementi grafici utilizzando i controlli forma,
linea, etichetta a immagine anzichè i controlli casella immagine.
Numero massimo di
controlli
II numero massimo di controlli consentito in un singolo form dipende
dal tipo di controlli utilizzati a dalle risorse di sistema
disponibili. Esiste tuttavia un limite fisso di 254 nomi di controlli
per form. Una matrice di controlli viene considerata un solo
controllo, in quanto a tutti i controlli in essa contenuti a assegnato
to stesso nome.
In tutte le versioni il limite degli indici di una matrice di
controlli a compreso try 0 e 32.767.
Nel caso di controlli nidificati, ad esempio quando vengono inseriti
alcuni controlli cornice all'interno di altre cornici, non a possibile
nidifrcare piu di sei livelli di controlli.
Limitazioni relative a controlli specifici
Nella tabella seguente sono elencate le limitazioni relative alle
proprietà applicate ad alcuni controlli specifici di Visual Basic |
Proprietà |
Si applica a |
Limitazione |
List e
ListCount |
Controlli casella di riepilogo a casella combinata |
II numero massimo di voci a pari a 32 KB. 11 limite delle dimensioni
di ciascuna voce a pari a 1 KB (1.024 byte). |
Text |
Controllo casella di testo |
Le dimensioni massime sono pari a
64 KB. |
Caption |
Controllo etichetta |
Le dimensioni massime sono pari a 1.024 byte |
|
Controllo pulsante di comando casella di controllo cornice e pulsante
di opzione |
Le dimensioni massime sono pari a 255 caratteri. Le didascalie che
superano questo limite risulteranno troncate. Le dimensioni massime
per le didascalie di controlli aggiuntivi sono pari a 32 KB |
|
Controllo menu |
Le dimensioni massime sono pari a 255 caratteri |
Tag |
Tutti i controlli |
Le dimensioni massime dipendono dalla memoria disponibile |
Name |
Tutti i controlli |
Le dimensioni massime sono pari a 40 caratteri |
Nota : In Visual Basic, i nomi
delle propriety dei controlli non devono essere composti da piu di 30
caratteri.
Limitazioni relative al
codice.
II numero massimo di righe di codice che è possibile caricare in un
form, una classe o un modulo standard a pari a 65.534 righe. Una
singola riga di codice può equivalere a un massimo di 1.023 byte. II
testo di una riga pub essere preceduto da un massimo di 256 spazi,
mentre in una singola riga logica si possono includere fino a nove
caratteri di continuazione riga (_).
Routine, tipi a variabili
Non esiste alcun limite al numero di routine, tipi a variabili che è
possibile inserire in un modulo. Ciascuna routine può includere fino a
64 KB di codice. Se si supera questo limite, verrà generato un errore
di compilazione che è possibile risolvere suddividendo le routine di
grandi dimensioni in routine piu piccole o spostando le dichiarazioni
a livello di modulo in altri moduli.
I nomi degli identificatori utilizzati nel codice, ovvero variabili,
routine, costanti a cosi via, vengono registrati in tabelle. Le
dimensioni massime di ciascuna tabella sono pari a 64 KB.
Tabella di dichiarazioni DLL
Ciascun form e ciascun modulo utilizza una tabella contenente una
struttura che descrive una voce della DLL. Ciascuna struttura utilizza
circa 40 byte a può avere dimensioni massime pari a 64 KB,
corrispondenti a circa 1.500 dichiarazioni per modulo.
Tabella dei nomi del progetto
L'intera applicazione utilizza una singola tabella contenente tutti i
nomi inclusi nel progetto, ovvero:
• Nomi di costanti
• Nomi di variabili
• Nomi di tipi definiti dall'utente
• Nomi di modulo
• Nomi delle dichiarazioni delle routine DLL
Non esiste alcun limite alle dimensioni totali della tabella dei nomi
del progetto. Esiste invece un limite di 32 KB per voci univoche della
tabella in cui la distinzione tra maiuscole e minuscole è rilevante.
Se si raggiunge questo limite, sarà possibile riutilizzare gli
identificatori privati in altri moduli.
Tabella di importazione
Con ciascun riferimento agli identificatori inclusi in altri moduli
viene creata una voce nella tabella di importazione. Le dimensioni di
ciascuna voce devono essere comprese tra un minimo di 24 byte a un
massimo di 64 KB, equivalenti a circa 2.000 riferimenti per modulo.
Tabella delle voci di moduli
Questa tabella accetta fino a 125 byte per modulo, con un limite
massimo di 64 KB, equivalenti a 400 moduli per progetto. |
Limitazioni relative ai
dati.
Le limitazioni descritte di seguito sono relative alle variabili del
linguaggio Visual Basic.
Dati di moduli di form, standard a di classe
Ciascun modulo di form, standard a di classe ha un proprio segmento di
dati che può avere dimensioni massime pari a 64 KB. 11 segmento
contiene i seguenti dati:
• Variabili locali dichiarate con Static.
• • Variabili a livello di modulo diverse da matrici a da stringhe di
lunghezza variabile.
• 4 byte per ciascuna matrice a livello di modulo e stringhe a
lunghezza variabile.
Routine, tipi a variabili
Quando in una routine o in un modulo viene superato il limite massimo
di 64 KB di codice, viene generato un errore di compilazione. Per
risolvere questo errore, è possibile suddividere le routine di grandi
dimensioni in routine piu piccole o spostare le dichiarazioni a
livello di modulo in altri moduli.
Tipi definiti dall'utente
Le variabili dei tipi definiti dall'utente non devono essere superiori
ai 64 KB. La somma delle stringhe di lunghezza variabile in un tipo
definito dall'utente, tuttavia, può superare questo limite. Ciascuna
stringa occupa infatti solo 4 byte in un tipo definito dall'utente, in
quanto 1'effettivo contenuto viene registrato separatamente. I tipi
definiti dall'utente possono essere definiti in rapporto ai tipi
definiti da altri utenti. La somma totale dei tipi non deve essere
tuttavia superiore a 64 KB.
Spazio dello stack
Gli argomenti e le variabili locali nelle routine occupano spazio
dello stack in fase di esecuzione. Le variabili statiche e a livello
di modulo invece non occupano alcuno spazio dello stack in quanto sono
assegnate al segmento di dati di form o moduli, Lo spazio dello stack
viene utilizzato anche durante 1'esecuzione di routine DLL.
Parte dello spazio dello stack viene inoltre utilizzato da Visual
Basic stesso, ad esempio per la registrazione di valori intermedi
durante la valutazione di espressioni. |
prelevato sul sito http://ennius.interfree.it
|