PDA

View Full Version : [VB6] Runtime error 7 - Out of memory


AlbioB
18-08-2003, 10:18
http://albiob.interfree.it/forum/outofmemory.jpg

:( :( :( :( :(

ha iniziato a farlo stamane con tutti i miei programmi sviluppati in Visual Basic

che è successo? :(

maxithron
18-08-2003, 10:24
controlla di non avere un task o un file che si chiama msblast.exe

se lo hai, scaricati fixblast dalla symantec.

se non lo hai, devi scaricarti una patch per winxp che come il win2000 in questi giorni sta soffrendo di un buco nel servizio rpc e si pianta tutto il sistema.

altre possibili cause:

registro da ripulire
disinstalla-reinstalla-vb6
possessione demoniaca

AlbioB
18-08-2003, 10:28
sapevo già la storia di msblast, e sono ben protetto da firewall, antivirus e patch

proverò a reinstallare le librerie di runtime

maxithron
18-08-2003, 10:33
ho controllato il run time error '7' a cosa si riferisse ed ho trovato che corrisponde ad un errore generato o da qualche dll che non funziona + o che non c'è +.

AlbioB
18-08-2003, 10:42
:eek:

ho portato la dimensione della memoria virtuale da 394 a 392, poi ho provato a copiare nelle cartelle dove risiedono i programmi i seguenti files:
MSCOMCTL.OCX
COMDLG32.OCX
RICHTX32.OCX
MSWINSCK.OCX
MSVBVM60.DLL

e ora partono! :eek:


il bello è che stamattina non partivano neanche con tutte queste librerie, e fino a ierisera partivano usando chi winsock, chi richtextbox... adesso invece tutti vogliono tutto :eek:

maxithron
18-08-2003, 10:43
provato a fare una malloc per controllare la ram?

AlbioB
18-08-2003, 10:49
:eek: :eek: :eek:

allora.... i progetti, l'installer e tutto ciò che riguarda i miei programmi risiedono in D:\AlbioB\nomeprogramma
l'installer poi crea un cartella in C:\Programmi\nomeprogramma lasciando all'utente scegliere se installare solo il programma, il programma con le librerie fondamentali, o il programma con tutte le librerie

se tolgo le librerie che ho citato prima dalla cartella D:\AlbioB\nomeprogramma il programma non mi parte più, né facendolo installare dall'installer (che è un file compilato con tutte le librerie all'interno) né facendolo partire "sciolto" da D:\AlbioB

se rimetto le librerie in D:\AlbioB\nomeprogramma il programma parte, sia facendolo installare sia facendolo partire "sciolto"

come se le librerie che installa in C:\Programmi\nomeprogramma non avessero alcun valore e tutto continuasse a dipendere da D:\AlbioB\nomeprogramma...

l'installer non registra alcuna dll né scrive files su registro

:eek:

maxithron
18-08-2003, 10:52
utilizzi l'installer nativo di vb?

AlbioB
18-08-2003, 10:58
no, uso InnoSetup

maxithron
18-08-2003, 11:02
come dichiari il percorso dell'applicazione?

cioè ad es.: c:\programmi\etc....

oppure : \\*\\****\(path location random)

maxithron
18-08-2003, 11:05
inoltre.... se debuggi passo-passo lo vedi l'errore?

AlbioB
18-08-2003, 11:12
InnoSetup è un installer che si basa su degli script compilati manualmente... tipo l'NSIS. odio quegli installer che con tre click hai impostato tutto e il file da distribuire viene di dimensioni spropositate.

questo comunque è parte dello script

[Files]
Source: D:\AlbioB\RedirectCreator\RedirectCreator.exe; DestDir: {app}
Source: D:\AlbioB\MSWINSCK.OCX; DestDir: {app}
Source: D:\AlbioB\MSCOMCTL.OCX; DestDir: {app}
Source: D:\AlbioB\COMDLG32.OCX; DestDir: {app}
Source: D:\AlbioB\RICHTX32.OCX; DestDir: {app}
Source: D:\AlbioB\MSVBVM60.DLL; DestDir: {app}

[Setup]
DefaultDirName={pf}\RedirectCreator

{app} equivale a DefaultDirName
{pf} significa Program Folder, e corrisponde a C:\Programmi

ah inoltre come vedi l'installer è compilato con le librerie che non sono piazzate in D:\AlbioB\nomeprogramma, ma in D:\AlbioB

quindi non trovo proprio alcun legame :confused:

maxithron
18-08-2003, 11:22
mah solo una prova....


hai provato così?:

Source: D:\AlbioB\RedirectCreator\RedirectCreator.exe; DestDir: {app}
Source: D:\AlbioB\RedirectCreator\MSWINSCK.OCX; DestDir: {app}
Source: D:\AlbioB\RedirectCreator\MSCOMCTL.OCX; DestDir: {app}
Source: D:\AlbioB\RedirectCreator\COMDLG32.OCX; DestDir: {app}
Source: D:\AlbioB\RedirectCreator\RICHTX32.OCX; DestDir: {app}
Source: D:\AlbioB\RedirectCreator\MSVBVM60.DLL; DestDir: {app}

per vedere se ti dà lo stesso errore?

AlbioB
18-08-2003, 13:29
ho appena provato e dà lo stesso errore :confused:

e poi cmq non ci dovrebbe essere niente che lega i files in D:\AlbioB\RedirectCreator e C:\Programmi\RedirectCreator :muro:

spero di risolvere installando (e facendo installare :rolleyes: ) le librerie di runtime... però è veramente strano che succedano queste cose su winxp sp1 installato nuovo nuovo sabato scorso :mad:

sky7176
09-08-2004, 11:00
Salve,
ho forse trovato la soluzione all'errore run time error 7.

Questo errore e' dovuto al fatto che non vengono ridistribuiti i componenti legati alla FM20.dll.

Ho trovato la spiegazione su questi links:

http://support.microsoft.com/default.aspx?scid=KB;EN-S;Q241245

http://support.microsoft.com/default.aspx?scid=kb;EN-US;224305

e la soluzione in questo

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaxctrl/html/cpad.asp

Ho scaricato il file e lo installato sulla macchina che mi dava casini ed il tutto si e' messo a funzionare a dovere.

Ora voglio capire che files ha installato per creare uno script per InnoSetup da utilizzare in futuro

Saluti Giuseppe

cionci
11-08-2004, 13:43
Gli OCX e tutti gli ActiveX vanno registrati...

Source: C:\patrh\file.ocx; DestDir: {app}; Flags: regserver

cionci
11-08-2004, 13:46
Per installare il RunTime di VB devi fare così: http://www.jrsoftware.org/iskb.php?a=vb

sky7176
11-08-2004, 14:29
Certo che dli ocx e gli actvex vanno registrati,
ma il problema rimane, visto che la stessa microsoft afferma che i componenti legati al Microsoft Forms 2.0 object non possono essere ridistribuiti in sessun modo, ma che questi componenti vengono installati insieme alla suite di office.

Tanto e' vero che il mio programma su macchine con office installato funziona benissimo, ma se installo il tutto su di una macchina in cui non c'e' office ho l'errore di run time 7.

Io ho comunque risolto eliminando dal mio programma il componente incriminato.

Saluti

cionci
12-08-2004, 13:25
Originariamente inviato da sky7176
Certo che dli ocx e gli actvex vanno registrati,
Ma lo script di AlbioB non lo faceva ;)

AlbioB
12-08-2004, 15:08
Originariamente inviato da cionci
Ma lo script di AlbioB non lo faceva ;)

vero, infatti al tempo risolsi facendoglieli registrare ;)

cionci
13-08-2004, 10:49
Ah...è un thread del 2003...