Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1180to1184
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MemoryUsed - Typen unverträglich in 2007

MemoryUsed - Typen unverträglich in 2007
norman
Hi alle,
hatte ich letzte Woche schon mal reingestellt.
Dim memu As Long
Dim memf As Long
memu = Application.MemoryUsed
memf = Application.MemoryFree
führt zu einem Typen Unverträglich unter 2007. Unter 2003 gehts.
Habe aufgrund der Antworten verstanden, dass diese Funktionen unter 2007 "ausgeblendet" sind. Letzer Hinweis war mit Variant zu arbeiten, das hat aber nix gebraucht (ausgeblendet will auch nicht mit Variant). Habe jetzt ein paar Tage rumgegoogelt, habe aber nix gefunden. Ich muss unbedingt wissen, wie ich den verfügbaren Speicher in Excel abfragen kann.
Hintergrund: Ich habe etwas programmiert, bei dem ich sauber alles wieder frei geben (muss man ja in den meisten Fällen gar nicht explizit wie ich auf einer klasse Seite gelesen habe, aber für globale Variablen machts schon Sinn, damit die Referenz nicht bestehen bleibt... Teilweise natürlich auch für lokale). Egal, das ist gar nicht der Punkt, sondern: Mir läuft trotz aller Freigaben der Speicher langsam voll (warum auch immer). Da der Speicher voll läuft will ich den Speicher überwachen, um ggf. abzubrechen und neu zu starten. Klappt alles toll unter 2003, nicht aber (aus o.g. Gründen) unter 2007.
Gibts irgend eine Funktion um den Speicherverbrauch in Excel auch unter 2007 abzufragen?
Gruß
Norman
Declare Sub GlobalMemoryStatus Lib "kernel32" (
09.10.2010 11:17:38
ransi
Halloo Norman
Schau dir mal dies an:
Option Explicit

Private Declare Sub GlobalMemoryStatus Lib "kernel32" ( _
    lpBuffer As MEMORYSTATUS)

Private Type MEMORYSTATUS
    dwLength As Long
    dwMemoryLoad As Long
    dwTotalPhys As Long
    dwAvailPhys As Long
    dwTotalPageFile As Long
    dwAvailPageFile As Long
    dwTotalVirtual As Long
    dwAvailVirtual As Long
End Type



Public Sub Aufruf()
Dim SpeicherInfos As MEMORYSTATUS
GlobalMemoryStatus SpeicherInfos
MsgBox SpeicherInfos.dwAvailPhys
End Sub



Kommst du damit weiter ?
ransi
Anzeige
AW: Declare Sub GlobalMemoryStatus Lib "kernel32" (
11.10.2010 12:22:49
norman
Hi Ransi,
danke für die Info. Ich werde das mal ausprobieren, aber ich vermute, dass ich damit nicht rausbekomme, ob der Speicher von Excel vollläuft. Aber einen Versuch ist es Wet.
Viele Grüße
Norman
AW: Declare Sub GlobalMemoryStatus Lib "kernel32" (
12.10.2010 19:33:24
Hajo_Zi
Hallo Norman,
warum offen? Du willst es doch testen, wenn Du es getestet hast dann stelle den Beitrag auf offen, falls noch was offen ist.

AW: Declare Sub GlobalMemoryStatus Lib "kernel32" (
13.10.2010 09:49:12
norman
Hi,
also, habs getestet, das bringt mich nicht weiter. Was ich brauche, ist der ExcelSpeicher, nicht der generelle. Meine Idee war die Veränderung des GlobalMemoryStatus zu überwachen. Wenn der User weitere Programme öffnet oder schließt geht das schief.
Noch jemand eine Idee?
Viele Grüße
Norman
Anzeige
AW: Declare Sub GlobalMemoryStatus Lib "kernel32" (
13.10.2010 10:29:16
Tino
Hallo,
ich würde mal versuchen festzustellen warum der speicher voll läuft und eventuell das Programm entsprechend anpassen oder umbauen.
Dies kann z. Bsp. sein das ein Array zu groß wird und dann die Meldung kommt
das nicht genügend speicher zur Verfügung steht.
Gruß Tino
AW: Declare Sub GlobalMemoryStatus Lib "kernel32" (
14.10.2010 12:50:52
norman
Hi Tino,
das habe ich bereits getan, ich arbeite mit lokalen collections und 3 globalen collections, Arrays benutze ich gar nicht. Ich habe den kompletten Programmcode durchgesteppt und geprüft, dass alles freigegeben wird ( set nothing etc.). Leider scheint Excel den Speicher erst sukzessive wieder frei zu geben, und das führt dann zum Volllaufen. Gibt es denn wirklich gar keine Möglichkeit, in Excel2007 den Speicher abzufragen?
Viele Grüße
Norman
Anzeige
keine Idee mehr dazu oT.
14.10.2010 13:30:05
Tino

281 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige