Una delle cose più affascinanti e strane della programmazione è che l’imprevisto è sempre dietro l’angolo e soprattutto che non tutto è quello che sembra.
Stamattina ad esempio mi chiama un cliente dal salernitano che utilizza un software per la gestione della produzione che ho sviluppato con visualbasic 6 addirittura nel 2004 e che utilizzano ancora in quanto customizzato perfettamente sulla loro realtà.
Pur avendo provato a sostituirlo con sistemi più moderni di grosse aziende utilizzano ancora il mio perchè i verticali non riescono a fare tutto quello che serve ad una azienda.
Ma veniamo al problema principale, torniamo al problema del mio cliente.
Mi ha chiamato stamattina perchè il programma dopo la partenza qualsiasi form provava ad aprire, vb6 gli dava un errore runtime 7 out of memory.
La prima cosa che fai quando vedi un errore out of memory pur senza consultare le pagine di supporto Microsoft è che sia un problema di memoria.
Ma la macchina oltre che essere nuovissima con 16 gb di ram aveva addirittura 256 GB di spazio libero su disco, quindi neanche a dire che si trattasse di un problema di memoria virtuale.
La prima cosa da fare in questi casi è chiedere quali fossero state le ultime attività effettuate, ed ecco la soluzione.
Questa mattina aveva disinstallato un programma.
L’errore out of memory di visualbasic 6 si verifica anche quando viene disinstallato un programma che condivide qualche dll con il tuo, soprattutto se e’ un programma più o meno dello stesso periodo.
Quando un programma viene disinstallato le dll vengono deregistrate.
A meno che non si tratti di una dll fondamentale il tuo programma si compila lo stesso ma poi all’interno di qualche procedura ti dà l’errore out of memory, che con la memoria non c’entra nulla.
In sintesi per risolvere l’errore out of memory 7 per applicazioni sviluppate con visualbasic 6 è sufficiente rifare il setup della applicazione selezionando l’opzione ripristina che ricopia eventuali file mancanti e soprattutto registra nuovamente tutte le dll della applicazione.
In questo modo ho risolto in pochi minuti il problema del mio cliente: spero possa esservi di aiuto colleghi sviluppatori.