Avatar billede cole Nybegynder
06. februar 2003 - 06:11 Der er 9 kommentarer

Out of merory

Jeg er ved at opbygge et større program hvor der indgår 11 forme og omkring 300 variabler. på nuværende tidspunkt kan der fremkomme et "Out of memory" Run-time error 7.
Findes der en metode så jeg kan aflaste hukommelsen i PC-eren når jeg køre programmet.
I programmet indgår flere databaser som jeg godt nok lukker hver gang de ikke bruges. De 300 variabler fylder ca. 5 kb når de er gemt som fil.
Jeg kan godt starte programmet op, men åbner jeg en tilfældig hjælpedatabase fremkommer fejlen.
Avatar billede ocp Nybegynder
06. februar 2003 - 08:54 #1
Det lyder mere som om du havner i en uendelig løkke eller noget i den stil (evt. glemmer en movenext). Jeg har lavet væsentligt "vildere" programmer end 11 forme.
En fidus kunne være at sørge for at der blev lavet form.unload og ikke bare form.hide når en form lukkes.
Avatar billede jrl0469 Nybegynder
06. februar 2003 - 08:55 #2
Hej cole
Ligger al din kode i de omtalte forme? Hvis ja så bør du nok oprette klassemoduler for de enkelte hovedområder...
F.eks: ADOcls, maincls m.fl.
Klasse moduler bruger kun hukommelse når de er sat!
Avatar billede martin_moth Mester
06. februar 2003 - 09:05 #3
Og husk at sætte alle dine objekter = Nothing når du ikke bruger dem mere. Det kan sagtens have en stor betydning
Avatar billede bernhof Nybegynder
11. februar 2003 - 23:31 #4
Kan du vise os et udsnit af koden, som Visual Basic peger på, når den kommer med fejlbeskeden? Som ocp siger, er det for det meste fordi du sidder fast i endless loop.
Avatar billede cole Nybegynder
12. februar 2003 - 06:15 #5
til mikbj
Jeg kan godt vise dig noget kode, men fakta er at starter fint op, men hvis jeg under programkørslen åbner en telfældig form kan fejlen out of memory fremkomme. I programmet bliver der kørt nogle listview som jeg nu har prøvet med nogen held at tilføje Nothing efterfølgende hvilke har hjulpet lidt men ikke nok.
Til gengæld så starter programmet med at hente nogle data ind som opdatere henholdsvis de ca 300 variabler og objekterne i de ca 11 forme således at jeg kan fortsætte programafviklingen hvor jeg slap sidst jeg kørte programmet. Jeg har mistanke om at problemet måske er det. Jeg bruger Klasse moduler i stor udstrækning hvor det kan lade sig gøre.
Avatar billede bernhof Nybegynder
12. februar 2003 - 13:58 #6
Hmm .. Ok, men jeg kan ikke hjælpe dig, hvis det ikke er koden den er gal med, desværre. Har aldrig selv været ude for den fejl pga. for mange variabler/forms.
Avatar billede cole Nybegynder
14. februar 2003 - 14:02 #7
ocp
Kan du beskrive hvordan jeg skal håndtere form unload kodemædsigt. Jeg skal kunne springe fra form til form i mit program.
Avatar billede bernhof Nybegynder
14. februar 2003 - 14:11 #8
ocp skriver form.unload, men syntaksen er i virkeligheden Unload Form
Avatar billede martin_moth Mester
17. februar 2003 - 13:36 #9
Undloade alle forms:

  Dim Form As Form
  For Each Form In Forms
      Unload Form
      Set Form = Nothing
  Next Form
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester