Hejsan! Att minnet tar slut i vissa programkörningar har jag varit med om också. I huvudsak har det varit att det blivit nåt fel som Excel inte "orkar" visa, så genom att bygga en bättre felhanterare har jag kommit runt problemet. <BR> Hej,Hur funkar detta med minne?
Då var det dags för dagens amatörfråga:
Det verkar som om minnet tar slut för min dator efter att jag hållit på en liten stund med formulär och sådant i Excel.
Speciellt märks det när jag ska skriva ut formulär.
Hur fungerar detta med minnet och Excel? Datorn brukar också hänga sig efter att jag stängt excel, går det att tömma minnet i samband med att man stänger Excel? Vart ser jag statusen på minnet?
Hälsningar
PeterSv: Hur funkar detta med minne?
Jag misstänker att Dennis kan ge bättre svar på hur man hanterar minnet, men här har du i alla fall ett sätt att visa hur mycket minne som finns allokerat och tillgängligt. <BR>
Mvh <BR>
/EE <BR>
<BR>
<code>
Dim mf As Long, mt As Long, mu As Long
Dim sssmf$, smt$, ssmu$, smf$, smu$
mf = Application.MemoryFree
mt = Application.MemoryTotal
mu = Application.MemoryUsed
If mf > 1048576 Then
mf = mf / 1048576: smf$ = Format(mf, "######0.00") & Chr(32) & "MB"
ElseIf mf > 1024 Then
mf = mf / 1024: smf$ = Format(mf, "######0.00") & Chr(32) & "kB"
Else
smf$ = Format(mf, "######0.00") & Chr(32) & "B"
End If
If mt > 1048576 Then
mt = mt / 1048576: smt$ = Format(mt, "######0.00") & Chr(32) & "MB"
ElseIf mt > 1024 Then
mt = mt / 1024: smt$ = Format(mt, "######0.00") & Chr(32) & "kB"
Else
smt$ = Format(mt, "######0.00") & Chr(32) & "B"
End If
If mu > 1048576 Then
mu = mu / 1048576: smu$ = Format(mu, "######0.00") & Chr(32) & "MB"
ElseIf mu > 1024 Then
mu = mu / 1024: smu$ = Format(mu, "######0.00") & Chr(32) & "kB"
Else
smu$ = Format(mu, "######0.00") & Chr(32) & "B"
End If
MsgBox "Totalt minne för Excel: " & smt$ & Chr(13) & Chr(10) & "Använt minne: " & smu$ & Chr(13) & Chr(10) & "Ledigt minne: " & smf$
</code>Sv: Hur funkar detta med minne?
XL och minneshantering är inget bra äktenskap även om det har blivit bättre för varje ny version av XL....
Används dessutom operativsystemen 95 / 98 så blir det ännu värre....
Det största minnesläckaget uppträder när vi använder oss av diagram.
En annan källa är om vi använder oss av Comctl32 kontroller i formulär, i synnerhet ListView. Detta bör vara ett skäl till dina problem.
Förslag:
Se över antalet formulär och vilka kontroller du använder dig av.
Oavsett villken version av XL du använder - uppdatera till den senaste service-packen. Se min webbplats www.xldennis.com och då sektionen uppdatering.
Mvh
XL-Dennis