La nostra applicazione non funziona sul computer di un utente specifico con ERROR_NOT_ENOUGH_MEMORY
("Memoria insufficiente per elaborare questo comando").Risoluzione dei problemi ERROR_NOT_ENOUGH_MEMORY
L'errore sembra essere stato generato da qualche parte nel framework VCL di Delphi che stiamo utilizzando, quindi non sono sicuro di quale sia la funzione dell'API di Windows.
La memoria è un problema? Una chiamata al GlobalMemoryStatus
ha pronunciato la seguente informazione:
- dwTotalPhys - 1.063.150 mila (~ 1 GB)
- dwAvailPhys - 26.735.000 (~ 27 MB)
- dwAvailPage - 1,489 miliardi (~ 1,4 GB)
Mi sembra strano che Windows lascerebbe che la memoria fisica disponibile diventi così bassa quando è disponibile così tanto spazio nel file di paging, ma non ne so abbastanza della gestione della memoria virtuale di Windows per sapere se è normale o no . È?
Se non la memoria, quale limite di risorse viene colpito? Da quello che ho letto online, ERROR_NOT_ENOUGH_MEMORY
potrebbe essere il risultato dell'applicazione che ha raggiunto uno dei vari limiti (oggetti GDI, oggetti USER, handle, ecc.) E non necessariamente memoria. Esiste un elenco completo di ciò che limita Windows applica? C'è un modo per scoprire quale limite viene colpito? Ho provato Google, ma non sono riuscito a trovare una panoramica sistematica.
GDI è il mio primo punto di chiamata. Mentre è strano che stia accadendo solo sulla macchina di un utente, è lì che inizierei. Potrebbe anche essere qualcosa come il numero di maniglie che sono in uso, ecc. Buona fortuna! –