AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherreservierungsfehler ?

Ein Thema von Nils_13 · begonnen am 9. Apr 2008 · letzter Beitrag vom 9. Apr 2008
Antwort Antwort
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Speicherreservierungsfehler ?

  Alt 9. Apr 2008, 22:04
Hi,

ich programmiere gerade ein Programm welches mit 8MB mehr Speicher als meine anderen Programme benötigt. Es enthält ein Array und ein paar Variablen. Ich bekam plötzlich beim Beenden eine Exception/Zugriffsverletzung. Beim einen Mal wurde aus einem unerklärlichen Grund ein Timer bei Programmende noch einmal aktiv und hat sich sehr seltsam verhalten: Er missachtete alle If-Abfragen in OnTimer. Nun habe ich daher die Timer einfach mal deaktiviert und bekam eine Exception. Danach überlegte ich mir, was ich wirklich zuletzt geändert hatte. Ich habe eine Variable deklariert. Selbst wenn ich keine Hoffnung hatte, habe ich sie kurz auskommentiert und geschaut ob es was ändert. Unglaublicherweise verschwand die Exception. Nach etwas Probiererei hatte ich raus, dass es vollkommen egal ist, wo ich eine neue Variable deklariere, es gibt immer eine Exception beim Beenden des Programms. Ich hatte vor sehr langer Zeit diesen Fehler schonmal. Das ist nun aber schon bestimmt zwei Jahre her und ich wusste auch nicht, wonach ich suchen sollte. Habt ihr eine Idee woran das liegen könnte ? Der Arbeitsfreicher ist bei mir frei genug und selbst wenn er es nicht wäre, gäbe es von daher denke ich grundsätzlich keine Probleme. Ich habe die Vermutung, dass Delphi nicht genügend Speicher reserviert. Kann das sein ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Speicherreservierungsfehler ?

  Alt 9. Apr 2008, 22:07
Was für ein Typ hat die Variable?
Markus Kinzler
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#3

Re: Speicherreservierungsfehler ?

  Alt 9. Apr 2008, 22:08
Integer. Wenn ich Boolean nehme, gibt es keinen Fehler. Da wird denke ich wirklich was nicht richtig reserviert, aber ich mache das selbst überall ordentlich.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Speicherreservierungsfehler ?

  Alt 9. Apr 2008, 22:24
du wirst vermutlich irgendwo über den Speicher hinaus schreiben oder auf freigegebene oder nicht instanzierte Objekte zugreifen. Wenn du schreibst "zugriffsverletzung" solltest du auch die Adresse mit erwähnen denn die ist nicht unerheblich. Und das beim Beenden ein Timer noch aktiv ist, ist auch nichts ungewöhnliches da ein Timer so lange aktiv ist bis er disabled wird oder eben frei gegeben. Und wenn du irgendwo Applicaiton.ProcessMessages verwendest werden eben auch beim Beenden noch Timermessages abgearbeitet. Wenn du auf einem bereits frei gegebenen Object rumrödelst kann es auch passieren das da ganz komische Dinge passieren weil plötzlich irgendwo im Code hingesprungen wird wo schon was ganz anderes im speicher steht etc.
Ohne Quelltext und ohne Einsatz des Debuggers ist das ganze ein reines Rätzel raten.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#5

Re: Speicherreservierungsfehler ?

  Alt 9. Apr 2008, 22:55
Habe nach langer Suche den Fehler gefunden, hätte aber wirklich nicht erwartet, dass der eine Exception erst so spät zur Folge hätte. Ein Index bei einer Arraybefüllung war falsch. Danke.
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:15 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