Problema deallocazione memoria

di il
13 risposte

Problema deallocazione memoria

Salve,
ho il seguente problema: alle volte quando chiudo access 2016 andando nella gestione dei processi del mio pc mi accorgo che access sta ancora lavorando e consumando non poche risorse, ovvero circa il 30% della CPU e 50MB di RAM stabili (nel senso che non aumentano né diminuiscono). Come mai? La colpa è di Access o mia?
Grazie mille in anticipo!

13 Risposte

  • Re: Problema deallocazione memoria

    Simone_Urba ha scritto:


    ...alle volte quando chiudo access 2016 andando nella gestione dei processi del mio pc mi accorgo che access sta ancora lavorando e consumando non poche risorse,...
    Come avvii il db? Come chiudi Access? hai una maschera o pulsante di chiusura? Potrebbero esserci "infiniti" motivi per cui resta un processo attivo, come ad esempio la chiamata di ulteriori "istanze" di Access senza la relativa chiusura a regola d'arte (distruzione degli oggetti ecc). Ma qui bisognerebbe esaminare praticamente tutto il codice e non è detto che se ne esca (è capitato anche a me, alcuni file erano "strani", specie dopo la compattazione e ripristino: con procedure di importazione la loro dimensione cresceva spropositatamente Access risultatava sempre tra i processi in esecuzione anche dopo la sua chiusura: mai capito il perché)
    Forse questo andava detto per primo: installi regolarmente tutti gli aggiornamenti?
  • Re: Problema deallocazione memoria

    Philcattivocarattere ha scritto:


    Simone_Urba ha scritto:


    ...alle volte quando chiudo access 2016 andando nella gestione dei processi del mio pc mi accorgo che access sta ancora lavorando e consumando non poche risorse,...
    Come avvii il db? Come chiudi Access? hai una maschera o pulsante di chiusura? Potrebbero esserci "infiniti" motivi per cui resta un processo attivo, come ad esempio la chiamata di ulteriori "istanze" di Access senza la relativa chiusura a regola d'arte (distruzione degli oggetti ecc). Ma qui bisognerebbe esaminare praticamente tutto il codice e non è detto che se ne esca (è capitato anche a me, alcuni file erano "strani", specie dopo la compattazione e ripristino: con procedure di importazione la loro dimensione cresceva spropositatamente Access risultatava sempre tra i processi in esecuzione anche dopo la sua chiusura: mai capito il perché)
    Forse questo andava detto per primo: installi regolarmente tutti gli aggiornamenti?
    Installo tutti gli aggiornamenti, e chiudo access semplicemente con la x in alto a destra.
  • Re: Problema deallocazione memoria

    Simone_Urba ha scritto:


    Philcattivocarattere ha scritto:


    Simone_Urba ha scritto:


    ...alle volte quando chiudo access 2016 andando nella gestione dei processi del mio pc mi accorgo che access sta ancora lavorando e consumando non poche risorse,...
    Come avvii il db? Come chiudi Access? hai una maschera o pulsante di chiusura? Potrebbero esserci "infiniti" motivi per cui resta un processo attivo, come ad esempio la chiamata di ulteriori "istanze" di Access senza la relativa chiusura a regola d'arte (distruzione degli oggetti ecc). Ma qui bisognerebbe esaminare praticamente tutto il codice e non è detto che se ne esca (è capitato anche a me, alcuni file erano "strani", specie dopo la compattazione e ripristino: con procedure di importazione la loro dimensione cresceva spropositatamente Access risultatava sempre tra i processi in esecuzione anche dopo la sua chiusura: mai capito il perché)
    Forse questo andava detto per primo: installi regolarmente tutti gli aggiornamenti?
    Installo tutti gli aggiornamenti, e chiudo access semplicemente con la x in alto a destra. Ci tengo a precisare che non lo fa sempre, a occhi direi 1 volta su 15/20
  • Re: Problema deallocazione memoria

    Simone_Urba ha scritto:


    ...Ci tengo a precisare che non lo fa sempre, a occhi direi 1 volta su 15/20
    Bisognerebbe trovare quella condizione particolare, quell'azione specifica, quella serie di fattori che si verificano sempre e solo in quella volta su 15/20. Ho scoperto l'acqua calda in pratica. A noi "comuni mortali" (no lo so tu ma io lo sono) non è dato scoprire tutto questo. Immagino che se si trattasse di un'operazione specifica che esegui quella volta te ne saresti accorto tu per primo, o almeno avresti potuto pensare che fosse dovuto a quello.
    Morale della favola: se non c'è qualche intervento veramente illuminante non ti resta che chiudere il processo "a mano" quella volta ogni n in cui rimane aperto.
  • Re: Problema deallocazione memoria

    Hai del codice scritto...?
    Se NON hai codice è un problema di Access/Patch/Aggiornamenti/Malfunzionamento.

    Se HAI codice, 99% è colpa del codice scritto con "errori" che non liberano risorse.
  • Re: Problema deallocazione memoria

    @Alex ha scritto:


    Hai del codice scritto...?
    Se NON hai codice è un problema di Access/Patch/Aggiornamenti/Malfunzionamento.

    Se HAI codice, 99% è colpa del codice scritto con "errori" che non liberano risorse.
    Si direi che ho molto codice scritto, ma mi sembra strano perché molte volte capita anche quando apro e subito chiudo il db. Comunque adesso ricontrollerò tutto il codice. Grazie!
  • Re: Problema deallocazione memoria

    Verifica di avere in tutti i Moduli la dichiarazione ESPLICITA delle Variabili
    Option Explicit
    E Compila il codice dal menù dell'Editor... "Debug"----> "Compila"
    Verifica Riferimenti a Librerie, istanze di Oggetti o istanze in LateBinding alsciate appese... Excel/Word/Graph ecc...
  • Re: Problema deallocazione memoria

    @Alex ha scritto:


    Verifica di avere in tutti i Moduli la dichiarazione ESPLICITA delle Variabili
    Option Explicit
    E Compila il codice dal menù dell'Editor... "Debug"----> "Compila"
    Verifica Riferimenti a Librerie, istanze di Oggetti o istanze in LateBinding alsciate appese... Excel/Word/Graph ecc...
    Non so se ho capito bene. Per dichiarare una variabile devo scrivere
    Option Explicit Dim vari As Integer
    ?
  • Re: Problema deallocazione memoria

    Magari una lettura sulle varie motivazioni (del perché il processo può rimanere residente in memoria) può essere utile:
    https://social.msdn.microsoft.com/Forums/office/en-US/a81ac8d9-b941-456c-8880-e72302ad0c35/access-is-still-listed-in-task-manager-after-closing?forum=accessdev
    https://stackoverflow.com/questions/38060316/msaccess-exe-does-not-close-when-using-pop-up-forms
    https://www.experts-exchange.com/questions/26793383/MSACCESS-EXE-Remains-Open-in-Task-Manager-when-run-on-Windows-7-machine.html
    http://windowssecrets.com/forums/showthread.php/55241-MSACCESS-EXE-getting-stuck-in-task-manager-(2002-(10-2616-2625))
    https://access-programmers.co.uk/forums/showthread.php?t=158134
  • Re: Problema deallocazione memoria

    Simone_Urba ha scritto:


    @Alex ha scritto:


    Verifica di avere in tutti i Moduli la dichiarazione ESPLICITA delle Variabili
    Option Explicit
    E Compila il codice dal menù dell'Editor... "Debug"----> "Compila"
    Verifica Riferimenti a Librerie, istanze di Oggetti o istanze in LateBinding alsciate appese... Excel/Word/Graph ecc...
    Non so se ho capito bene. Per dichiarare una variabile devo scrivere
    Option Explicit Dim vari As Integer
    ?
    L'edito del VBA nella sezione "SATRUMENTI"--->"OPZIONI"---->Tab(Editor) espone un Flag definito:
    [Dichiarazione di Variabili Obbligatoria] [v] Spuntalo.
    Questo ha effetto solo dal momeno in cui aprirai o inserirai NUOVI MODULI, e si manifesta inserendo in calce
    
    Option Compare Database
    Option Explicit
    Negli esistenti, non viene inserito e dovresti inserirlo a mano in alto.
    Da li poi non cambia nulla..., sostanzialmente dice al COMPILATORE che, nel caso vi siano Variabili o Oggetti NON DICHIARATI in modo Esplicito, da errore e non compila.

    Tutto il resto in ogni caso è Doveroso e sacro... come i suggerimenti dei Link di Willy.
  • Re: Problema deallocazione memoria

    Grazie mille a tutti!
  • Re: Problema deallocazione memoria

    Se hai risolto, esponi al Forum in cosa consisteva il problema.
  • Re: Problema deallocazione memoria

    @Alex ha scritto:


    Se hai risolto, esponi al Forum in cosa consisteva il problema.
    No ho solo ringraziato per i consigli! Quando ho tempo mi metto con calma a revisionare tutto il codice e a fare quello che mi è stato detto di fare... Se risolvo pubblicherò!
Devi accedere o registrarti per scrivere nel forum
13 risposte