AGB  ·  Datenschutz  ·  Impressum  







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

EInvalidPointer beim Schließen

Ein Thema von Airblader · begonnen am 21. Dez 2005 · letzter Beitrag vom 25. Dez 2005
Antwort Antwort
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#1

EInvalidPointer beim Schließen

  Alt 21. Dez 2005, 22:51
Hi,
ich hab jetzt jeden thread durch, den ich per Suche gefunden habe, aber bin noch nicht weiter.
Immer wenn ich mein Programm schließe, bekomme ich eine EInvalidPointer-Meldung, das CPU-Fenster sagt mir, dass der Fehler irgendwo in FreeMem liegt (die ich übrigens nicht manuell aufrufe).

Grob gesagt habe ich nur eine Klasse und eine globale (Ja, ich weiß) Variable die als dynamisches array dieser Klasse definiert ist, also

Delphi-Quellcode:
type
 TFoo = class(TObject)
  ...
 end;

var
 Bla: array of TFoo;
Die Hauptunit hat nichts besonderes. Ich definiere auch weder etwas in der Art von OnClose/onDestroy noch einen eigenen Destruktor der Klasse - lediglich den Konstruktor (und eigene Prozeduren).

Weiß jemand wo der Fehler liegen kann? Ich weiß nicht, wo der da auf einen ungültigen Pointer zugreifen soll, wo ich doch garnichts selber mache

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Master of the Wind

Registriert seit: 20. Dez 2005
26 Beiträge
 
#2

Re: EInvalidPointer beim Schließen

  Alt 22. Dez 2005, 10:19
Hallo erstmal... Ich glaube ich habe ein ähnliches Problem...Zumindest bekomme ich auch eine Zugriffsverletzung auf eine Speicheradresse, beim Beenden...naja kannst dir ja mal den thread anschauen Thread
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#3

Re: EInvalidPointer beim Schließen

  Alt 22. Dez 2005, 10:56
Ja, die letzte Antwort gibt mir zu denken, da dort von dynamiscehn Arrays geredet wird - und ich benutze ja eines.

Aber ich hab schon alles mögliche im Formdestroy versucht um das Array zu löschen oder sonstwas, aber ich kriegs nicht hin

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: EInvalidPointer beim Schließen

  Alt 22. Dez 2005, 11:12
Zitat von Airblader:
Hi,
ich hab jetzt jeden thread durch, den ich per Suche gefunden habe, aber bin noch nicht weiter.
Immer wenn ich mein Programm schließe, bekomme ich eine EInvalidPointer-Meldung, das CPU-Fenster sagt mir, dass der Fehler irgendwo in FreeMem liegt (die ich übrigens nicht manuell aufrufe).
den Fehler hatte ich auch grad.
in einem anderen Forum hab ich gelesen, dass man im ersten unit (quasi die *.dpr) als ersten eintrag in den uses das "ShareMem" eintragen soll.
Hab ich gemacht und der Fehler kam nicht mehr.

Versuchen kannst du es ja mal...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#5

Re: EInvalidPointer beim Schließen

  Alt 22. Dez 2005, 11:46
Ja, hatte ich auch gelesen schon, hatte es aber in die Nebenunit gemacht.
Werds mal eben probieren, danke.

air

Edit: Fehler besteht weiterhin...
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Wraith
(Gast)

n/a Beiträge
 
#6

Re: EInvalidPointer beim Schließen

  Alt 22. Dez 2005, 11:56
im FormDestroy einfach mal reinschreiben: Bla:=nil;
Damit wird der Zeiger auf das dyn. Array gelöscht.
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#7

Re: EInvalidPointer beim Schließen

  Alt 22. Dez 2005, 12:00
Naja, selbst FreeAndNil hilft ja nichts - die Methode übrigens genauso wenig

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#8

Re: EInvalidPointer beim Schließen

  Alt 23. Dez 2005, 12:23
*PUSH* Problem noch immer bestehend
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: EInvalidPointer beim Schließen

  Alt 25. Dez 2005, 17:47
Fügst du die Instanzen deines dynamischen Arrays auch noch irgendwo anders ein bzw. weist du es noch irgendwo anders zu während der Laufzeit deines Programmes?

Schonmal den RangeCheck angeschaltet und die Overflow Detection? (beides in den Projektoptionen->Compilereinstellungen; danach das Projekt komplett neu erstellen)
  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 00:30 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