Newsgroup: it.comp.lang.delphi
Titolo: Exe che occupa molta memoria

Ho iniziato un progetto con gli IBX e FB 1.5, un datamodule e un unica form
principale che ha al suo centro un TabPage. Ho moltissimi controlli
DBLookupCombo. Le tabelle hanno pochissimi record. I collegamenti con le
tabelle avvengono solo con query parametriche. Purtroppo quando lancio l'exe
(1,6Mb) passano circa 20 sec. prima che si apra la form e occupa il
mastodontico spazio di quasi 45Mb in ram. Quando passo da un Tab all'altro a
video si vede il refresh della grafica (anche se solo per 1 sec). Cercasi
consigli per ottimizzazioni :-) Thanks in advance.
Med

 ha scritto nel messaggio
news:bkmfj1$jnr$1...@newsreader.mailgate.org...

Ad esempio rivedere l'interfaccia... perchè io sono dell'idea che avere
"moltissimi controlli" fa solo confusione...
Magari sono questi "moltissimi controlli" che vogliono caricare i dati nelle
loro liste a rallentare vistosamente lo start-up dell'applicazione.
Ciao
Matteo

 loro liste a rallentare vistosamente lo start-up dell'applicazione.
In realtà l'utente vede giusto quelli che gli interessano perchè comunque
c'è un sistema che rende visibile/invisibile il TabPage interessato a
seconda della voce di menù. Anch'io avevo pensato agli items di riempimento
ma ho fatto delle prove con pochissimi record e il risultato non cambia.
Mah...
Med

 ha scritto nel messaggio
news:bkmmd5$vgq$1...@newsreader.mailgate.org...

Molto spesso, è più il tempo di connessione del dataset al database e
preparazione della qwery che la lettura dei record in sè...
Quelli che non sono visibili vengono anche opportunamente disabilitati
affinché non richiedano il caricamento degli elementi della lista dal
database?
Ciao
Matteo

Quando intendi pochissimi record sono i record del database o i record (o
Items delle scelte delle LookUp)
perchè nel caso di Items, per cui di liste, non dovrebbe rallentare molto.
Rallenta molto se invece hai 20 tabelle aperte.
Ciao.
--------------------------------
Inviato via 
http://usenet.libero.it

 database?
Disabilitati no, però adesso provo.
Med

 Rallenta molto se invece hai 20 tabelle aperte.
Sto' provando con pochi record sia per i record del database che per gli
items. Le query poi si attivano o disattivano nel caso in cui il tabpage sia
visibile/invisibile. Non c'è nessuna query lasciata inutilmente aperta. Bye
Med

Voglio dire che non puoi ridurre le tDBLookUpComboBox o Non puoi farlo senza
notevoli complicazioni a semplici DBComboBox a cui associ una lista.
Io ho una applicazione che usa 30 tabelle aperte (con pochi record giusto
per provare) ed è molto lenta.
Ciao

--------------------------------
Inviato via 
http://usenet.libero.it

c'è un sistema che rende visibile/invisibile
sarebbe meglio crearli e distruggerli, visto che così tutti sono
creati ogni volta, anche se non sono visibili, sono in memoria
personalmente userei form diverse, creandole quando serve e
distruggendole nell'onclose
..e magari mettendo le tabelle che servono esclusivamente per una
specifica form sulla from stessa
Ciao,
Alan Solo

 per provare) ed è molto lenta.
Ho scelto le DBLookUpComboBox perchè ho due tabelle master/detail dove
conservo tutti i codici (circa 4500) e i codici possono essere soggetti a
cambiamenti. Quando l'elenco della combo si apre prende sempre gli items
aggiornati.
Med

 specifica form sulla from stessa
le tabelle sono tutte in unico datamodule. Creare tante form diverse è vero
che ottimizerebbe al massimo ma l'applicativo è ormai già quasi completo. Se
dovesse peggiorare o non esserci una soluzione credo che adotterò il tuo
suggerimento. Bye
Med