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