AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

speicherfreigabe im debug modus

Ein Thema von edelfred · begonnen am 27. Sep 2006 · letzter Beitrag vom 27. Sep 2006
Antwort Antwort
edelfred

Registriert seit: 22. Sep 2006
6 Beiträge
 
#1

speicherfreigabe im debug modus

  Alt 27. Sep 2006, 22:36
Hallo zusammen,
ich habe ein kleines Probrlem, dass immer wieder zu Abstürzen meines PC führt.
Ich versuche grosse Datenmengen zu bewältigen und hierfür benötige ich Speicherplatz im Rechner.
Den stelle ich mit heapalloc und heapcreate zur Verfügung. Am Ende des programmes räume ich den Speicherplatz wieder frei mit heapfree und heapdestroy.
Das funzt auch alles prima.
problematisch wirds nur, wenn aufgrund irgendwelcher Veränderungen mit der Rechner mit einer Fehlermeldung anhält bzw. im Debug Modus stoppt und ich den debugmodus abbrechen muss.
Anschliessend habe ich immer merkwürdige fehlermeldungen.
Meine Frage. Kann ich auch Fehlermeldungen im derart abfangen, dass ich vor beenden noch Code ausführen kann. Oder allgemein? wie kann ich anders vorgehen um den speicherplatz immer wieder freizuräumen?

Besten Dank für alle Antworten, bin noch relativ neu " anne Programmieren"
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: speicherfreigabe im debug modus

  Alt 27. Sep 2006, 22:45
Wie wäre es mit try ... finally?

// Mem-Alloc
try
// Aktionen zu zu exception führen können
finally
// Speicher-Freigabe
end;

Die Frag die sich mir stellt wieso du direkt Heap-Speicher anforderst? Gibt es dafür einen Grund?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
edelfred

Registriert seit: 22. Sep 2006
6 Beiträge
 
#3

Re: speicherfreigabe im debug modus

  Alt 27. Sep 2006, 23:11
Hallo Bernhard,
nun, ich benötige einen Daten Buffer einer bestimmten Länge, der beschrieben wird. Bei Überlauf werden die Daten wieder an den Anfang des Buffers geschrieben (typische Messkarte). bei bestimmten events werden die Dtaen aus diesem Buffer in einen weiteren Buffer übetragen.
Nun, ich dachte mir, schaue ich mal, wie ich Speicherplatz für die Buffer freiräumen kann. Dann bin ich in der Hilf fündig geworden mit den oben genannten Befehlen.
Gibt es Haken an der Sache? Gibt es Alternativen? Wie gesagt, prinzipiell funktioniert es ja, bis auf die Fehlerfälle.
P.S.: Besten Dank für den tipp mit try finally, wobei ich nicht weiss, ob mir das etwas bringt: Ich müsste ja jeden Befehl zwischen Speicherreservierung und -Freigabe mit try..finally begleiten, um im fehlerfall den Speicher wierde freizugeben....oder verstehe ich da etwas falsch?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz