Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zugriffsverletzung bei Zugriff auf Objekt (https://www.delphipraxis.net/95287-zugriffsverletzung-bei-zugriff-auf-objekt.html)

Irrgärtner 5. Jul 2007 14:11

Re: Zugriffsverletzung bei Zugriff auf Objekt
 
Also in Delphi 2006 finde ich nichts derartiges. Im Fenster überwachter Ausdrucke gibt es kein "Bei Änderung anhalten".

Muetze1 5. Jul 2007 14:13

Re: Zugriffsverletzung bei Zugriff auf Objekt
 
Zitat:

Zitat von Irrgärtner
Also in Delphi 2006 finde ich nichts derartiges. Im Fenster überwachter Ausdrucke gibt es kein "Bei Änderung anhalten".

Ui, du hast BDS2006, tja, dann geht dies leider nicht (mehr). Ich habe leider auch schon feststellen müssen, das diese Option nicht mehr enthalten ist, nach dem ich von D7 auf BDS2006 umgestiegen bin. Da gelobe ich mir mein D7, das läuft und ist funktional. BDS2006 ist bisher meist ein Krampf.

Es bleibt dann nur die angesprochene Möglichkeit, Instance als property zu deklarieren und einen Brechpunkt in den Setter zu setzen. Das wäre die einfachste, schnellste und debugbare Lösung die mir einfällt.

shmia 5. Jul 2007 15:08

Re: Zugriffsverletzung bei Zugriff auf Objekt
 
Wie wäre es mit "defensiven Programmieren".
Also zuerst mal alles in Frage stellen und beweisen, dass alle OK ist:
Delphi-Quellcode:
....
   Assert(Assigned(self)); // wir sind innerhalb einer Methode; also darf self nicht NIL sein
   Assert(Assigned(xxx));
   Assert(Assigned(xxx.instance));
   if xxx.Instance is TEineKlasse then
      ...
Natürlich muss die Compiler-Option "Assertions" aktiv sein.
Diese Assert-Anweisung sollten im gesamten Sourcecode an strategischen Stellen eingebaut werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz