Dieser Tipp zeigt, wie man den Arbeitsspeicher bei Speicherengpässen optimieren kann.
Und hier der benötigte Code: ' API´s und Konstanten Private Declare Sub GlobalMemoryStatus Lib "kernel32" ( _ lpBuffer As MEMORYSTATUS) Private Type MEMORYSTATUS dwLength As Long ' Gesamtlänge der Struktur dwMemoryLoad As Long ' Prozent des belegten Speichers dwTotalPhys As Long ' Gesamtarbeitsspeicher dwAvailPhys As Long ' Verfügbarer Arbeitsspeicher dwTotalPageFile As Long ' Größe der Auslagerungsdatei dwAvailPageFile As Long ' Verfügbarer Arbeitsspeicher dwTotalVirtual As Long ' Größe d. virtuellen Speichers dwAvailVirtual As Long ' Verfügbarer virtueller Speicher End Type Private lpInfo As MEMORYSTATUS Private Sub Form_Load() Me.Caption = "Speicher freigeräumt !" ' Timer auf 1 Sek. einstellen Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() Dim NeuPhys As Long Dim Phys As Long If InStr(Me.Caption, "freigeräumt") <> 0 Then Call GlobalMemoryStatus(lpInfo) NeuPhys = lpInfo.dwAvailPhys Phys = lpInfo.dwTotalPhys Label2 = "Freier Speicher nachher: " + _ CStr(NeuPhys / 1024) + " KB" 'Aktualisieren ' Ergänzung : Aufruf automatisieren wenn Speicher ' unter 20 MB If NeuPhys < 20000000 Then Command1 = True End If End If End Sub Private Sub Command1_Click() Dim Phys As Long Dim NeuPhys As Long Dim frei As Long Call GlobalMemoryStatus(lpInfo) ' Nie mehr als 50% vom RAM freiräumen Phys = lpInfo.dwTotalPhys / 60 ' Wieviel ist gerade frei? frei = lpInfo.dwAvailPhys Screen.MousePointer = vbHourglass ProgressBar1.Max = 20 Label1.Caption = "Freier Speicher voher: " + _ CStr(frei / 1024) + " KB" ReDim at(20) As String Dim i As Integer For i = 0 To 20 Me.ProgressBar1.Value = i at(i) = Space$(Phys) ' Speicher aufblähen DoEvents Me.Caption = "Räume Speicher frei.... [" & _ CStr(i / 20 * 100) & "%] Optimiert..." Next i Me.Caption = "Fertig" ProgressBar1.Value = 0 Me.Caption = "Speicher freigeräumt !" Screen.MousePointer = 0 End Sub Dieser Tipp wurde bereits 35.248 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevCommand 4.0 ![]() Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Tipp des Monats ![]() Matthias Kozlowski Umlaute konvertieren Ersetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |