Speicher läuft voll

Primax

Mitglied
Hallo,
ich habe ein Programm geschrieben, das mit einer DB arbeitet und eine grafische Ausgabe hat.
Jetzt passiert folgendes, wenn ich mit dem Programm arbeite (exe ausgeführt), läuft der Speicher voll und das Programm bricht mit eine "Written"-Fehlermeldung ab. Das passiert auch beim arbeiten im Visual-Basic-Editor.
Jetzt meine Frage:
Kann ich irgendwie (per code) bei jedem laden eines bestimmten Forms, den speicher löschen? (RAM)
Oder liegt es nicht daran?
 
hallo Primax,

was ich dir in diesem Fall raten würde, wäre, jede ange,eldete Variable z.B. dim DB as Database, Dim RS as Recordset usw. immer mit DB.Close oder Set DB = Nothing abzuschliessen. Damit wird der Speicher für diese Variable wieder geleert.

Dies machst du mit jeder Variable, die einen Recordset aufruft. Es hilf auf machmal schon, wenn du bestimmte Variable nur innerhalb der Prozedur (Sub, Fubction) anmeldest. Setze so wenig wie möglich öffentliche Variablen ein.

Nur mal ein paar Tips um Speicher nicht sinnlos zu verballern.

ANI
 
Das habe ich schon gemacht

den Tipp kannte ich schon, aber trotzdem danke...

In meinem programm wird nach dem drücken eines buttons eine prozedure gestartet. in dieser prozedur wird die datenbank und die recordsets öfter geöffnet und geschlossen. dabei setzte ich jedesmal die dinger wieder auf nothing...

das meintes du doch...
 
hallo Primax,

dann gebe ich dir den guten Rat und benutze den DB.Execute-Befehl und einem SQL-String.

Mit SQL hast du die gleichen Vorteile wie mit Recordset.

DB.Execute "Select * from Tabelle where Feld=1"

Dieser läuft mit wesentlich weniger Speicher und ist auch 10mal schneller.

ANI
 
Befehl zum löschen des Speichers?

Gib es eigentlich einen Befehl, mit dem man manuell den Speicher löschen kann.
(Free Space? oder so?

grüße Primax
 
Zurück