Newsgroup: it.comp.appl.access
Titolo: Help: Memoria Insufficiente - Impossibile aggiornare la visualizzazione

Vorrei sapere se qualcuno ha ricevuto questo messaggio mentre sviluppa la
propria
applicazione Access'97:
Memoria Insufficiente - Impossibile aggiornare la visualizzazione.
Ogni volta che mi compare questo messaggio devo chiudere l'applicazione e
riavviare
la macchina. Tutto ricomincia a funzionare regolarmente, ma l'errore si
verifica piuttosto di frequente.
Ci sono consigli per poterlo eliminare?
A proposito, la mia macchina ha 192 Mb di ram.
Grazie anticipatamente
----------------------------------------------------------
Giulio Petrini
U.O. Tecnologie e Procedure Informatiche
Azienda Ospedaliera Senese
Tel. 0577/585784
Fax 0577/586191
----------------------------------------------------------

 wrote in message
8qn872$555$1...@fe1.cs.interbusiness.it...


Prova a togliere anche i controlli come le STRUTTURE A SCHEDE
-> Dave <- <da...@hate.spam> wrote in message
8qnbkj$qon$1...@bw107zhb.bluewin.ch...



Non utilizzare sfondi grafici pesanti...
In ogni caso l'esaurimento di risorse GDI si verifica soprattutto durante la fase di programmazione,
passando dalla modalità Design alla visualizzazione normale.
Ho in circolazione qualche applicazione davvero grossa che non da il minimo problema nemmeno su PC
con 32 MB.
.... e con parecchie strutture a schede.
Ciao, Mauro


Ho saputo che con Access 2000 il problema si verifica frequentemente, ma che con OSR1 installato
tutto ritorna nei ranghi...
Se usi il '97 non so che dirti ... a me è capitato rarissimamente e solo in fase di sviluppo con
macchine obsolete.
Ciao DaVe, Mauro

 Ciao DaVe, Mauro
Ciao !!
Gia', anch'io ho letto che con OSR1 si risolve il problema (o almeno si
dovrebbe..). Solo che in effetti uso Access97.
Il computer é dell'ultima generazione (o quasi), pentium III , 128Mb Ram,
Win98 SE.
Uhmm.. che sia quel "Second Edition" ?? a me fa schifo.. da quando l'ho
installato non riconosce piu' il CD-Writer.
Cmq da me il problema si presenta dopo 4 giorni che gira l'applicazione.
Ah.. dimenticavo.. la mia applicazione dovrebbe girare 24h/24h scrivendo e
cancellando dati dal database in continuazione.
Cmq, esattamente 4 giorni da quando lo faccio partire.. bam!! si blocca il
pc.
Ho notato che cambiando il periodo di lettura/scrittura, ad esempio da ogni
secondo a ogni 5 secondi, il pc viaggia anche per un giorno o due in
piu'.... questo mi fa pensare che indirettamente il fatto di scrivere e
leggere sul db mi influisce sulla memoria grafica.... mah... strano....
Vabbeh.. se qualcuno scopre qualcosa lo prego di avvisare tutti con un
messaggio pubblico, grazie !!!
DaVe


In effetti si tratta di un'applicazione particolarissima.
Di certo se questi problemi si verificassero sistematicamente con Access, penso proprio che non
esisterebbe questo ng.!!! (e io avrei continuato a sviluppare in Clipper)
Un'idea: hai "ucciso" tutte le variabili oggetto aperte nella tua applicazione?
Ovvero i Recordsets,  i riferimenti al Currentdb() etc., etc.
CIAO, Mauro


Ciao Mauro !
Si si, chiudo sempre le connessioni e i recordset ad ogni ciclo. cioé :
- Si connette al db (ADO)
- Apre i recordset
- elabora i dati
- Chiude i recordset
- chiude la connessione
E' appena stato qui il mio cliente, dice che se spengono il pc il problema
non si pone. Ma il fatto é che il pc resta in funzione 24h/24h per 7 giorni,
siccome si tratta di un programma di sicurezza (registra gli eventi e gli
allarmi di un determinato impianto).
Ciao, DaVe


Scusa la curiosità, ma perchè hai utilizzato ADO con Access '97?
E .... come?
L'acquisizione dei dati da seriale come viene effettuata?
Al tuo posto proverei l'applicazione su un PC attrezzato con NT 4.0, utilizzando Task Manager per
"mappare" l'utilizzo della memoria.
Non so, ma ho la sensazione che tu non chiuda qualcosa...
Ciao Dave, Mauro


Ciao Mauro !
Beh a dir la verità mi chiedo anche perché ho accettato di farlo con Access.
Ho sempre sviluppato in VB5 / VB6 , ma questo cliente insisteva di farlo in
Access (di cui ho pochissima esperienza).
Cmq, ho usato ADO perché lo uso sempre in VB, e perché cosi' se in futuro
questo database viene spostato su un server esterno (ora lavora in locale)
mi basta  cambiare la stringa di connessione.
Per usare ADO basta lavorare con VBA, apri le connessioni,i recordset, e poi
puoi fare ricerche con sql o come vuoi.
L'acquisizione dati avviene tramite il controllo ActiveX  MSComm.
Proprio ieri ho consigliato al cliente di acquistare e installare WindowsNT
4.0, magari gestisce meglio le risorse e probabilmente migliora le cose.
Mah.. vedremo... :-)
Ciao  !!
DaVe

puoi fare ricerche con sql o come vuoi.
In effetti ritenevo che ADO si potesse utilizzare soltanto con Access 2000.
.... Mi sa che hai creato un Setup "personalizzato" pescando le librerie dove ti servivano. :-D
Oppure esiste una patch per utilizzare ADO direttamente con Access '97?
Ciao Dave, Mauro

Ho chiuso tutte le connessioni; Ho cambiato lo sfondo delle maschere da GIF
a BMP ed ho creato una nuovo applicativo importando tutti gli oggetti del
vecchio.... cosě il problema al momento non mi si č piů verificato! Io pero'
non faccio girare l'applicazione 7 giorni su 7.
Giulio


Mmmh... non saprei.. io ho solo installato il service pack per Access e il
microsoft jet 4.0 (li trovi entrambi sul sito Ms)
Poi ho semplicemente riutilizzato delle stringhe di connessione usate in
altri programmi fatti con VB. L'importante é inserire il riferimento al
"ActiveX Data Object 2.1" oppure 2.5 se hai il nuovo Mdac.
Ciao
DaVe

"ActiveX Data Object 2.1" oppure 2.5 se hai il nuovo Mdac.
Beh .... grazie per le informazioni.
Ciao Dave, Mauro

...

Sarebbe anche una buona idea non inglobare le .bmp nelle maschere (o Reports) ma semplicemente
collegarle...
Ciao, Mauro