Hallo,
ich verwende immer noch Diadem 8.1 und habe dort ein Speicherüberlauf,
der sich in bestimmten Fehlern äußert, wie die angehängten Bilder zeigen.
Es handelt sich um ein VBS das eine große Anzahl von Dateien auswerten soll
(>15000). Eine Datei ist um die 140KB. Die Daten werden von ASCII Importiert,
kleine Berechnungen durchgeführt und dann als Bild (PNG) exportiert. Dabei wird
für jede Auswertung der Datenbereich bereinigt mit DataDelAll(), aber im
TaskManager steigt der Speicherbedarf bis zu mehreren 100MB stetig an. Irgendwann ist der Speicherbedarf wieder <100MB, aber die Auslagerungsdatei
wächst weiter. Bei der Größe von 1,56 GB kommen dann diese Fehler, obwohl ich
die Auslagerungsdatei auf die maximale 4GB eingestellt habe. Weiter habe ich
auch versucht mit der Einstellung der Speicherorganisation "virtuelle
Datenverwaltung" weiter zu kommen, aber ohne Erfolg.
In dem VBS sind die
Variablen in den einzelnen Funktionen definiert und verlieren doch beim
verlassen dieser ihre Gültigkeit oder?
Ich vermute den ASCII Import als Speicherloch, gibt es eine Möglichkeit den
Speicher zur Laufzeit wieder freizugeben?
Mein bisheriges Workaround ist das abspeichern der UserVariablen in eine VAB
Datei und ein Scriptgesteuerter Neustart von Diadem mit Wiederaufnahme der
Auswertung.
Für eine Bessere Lösung wäre ich sehr dankbar.
Schöne Grüße Mana
PS: Der Rat die neuste Version
zu verwenden, ist mir bewusst und wird auch in naher Zukunft realisiert.