Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Leere Klasse von einer anderen abgeleitet (https://www.delphipraxis.net/52529-leere-klasse-von-einer-anderen-abgeleitet.html)

Bigeddie 31. Aug 2005 10:13

Re: Leere Klasse von einer anderen abgeleitet
 
breakpoint auf den constructor-Aufruf

Inhalt der Variablen:
TheStructure enthält den Pointer auf ein Objekt von Typ TBWTable und ist in allen stadien des debuggend einsehbar
FDataStructure ist innerhalb des Constructors von TBWData nicht einsehbar, sollte jedoch eigentlich vor der Zuweisung NIL sein.

habe auch schon probiert über DataStructure (sprich das Property) auf die Variable zuzugreifen

DevilsCamp 31. Aug 2005 10:20

Re: Leere Klasse von einer anderen abgeleitet
 
Zitat:

Zitat von Bigeddie
FDataStructure ist innerhalb des Constructors von TBWData nicht einsehbar, sollte jedoch eigentlich vor der Zuweisung NIL sein.

Auch dann nicht, wenn du in den Projekt-Eigenschaften die Optimierung ausschaltest?

Bigeddie 31. Aug 2005 10:24

Re: Leere Klasse von einer anderen abgeleitet
 
Ja sicher, die Optimierung habe ich zum debuggen immer ausgeschaltet

SirThornberry 31. Aug 2005 10:24

Re: Leere Klasse von einer anderen abgeleitet
 
du schreibst ja im constructor
Delphi-Quellcode:
DataStructure := TheStructure;
womit du eine setmethode aufrufst. Kann es sein das du in dieser SetMethode auf etwas zugreifst was zu diesem zeitpunkt noch nicht initialisiert ist?

Vielleicht hilft es ja auch wenn du mal den gesammmten quelltext anhängst damit wir debuggen können.

Bigeddie 31. Aug 2005 10:27

Re: Leere Klasse von einer anderen abgeleitet
 
Procedure TBWData.SetDataStructure(Const Value: TBWTable);
Begin
FDataStructure := Value;
End;

dient also nur der Zuweisung des Pointers an die privte Variable FDataStructure

Bigeddie 31. Aug 2005 11:08

Re: Leere Klasse von einer anderen abgeleitet
 
Das mit dem Codeist ein kleines Problem, denn das Programm greift auf Dateien mit einer größe von ca 1,2GB zu,
die müßte ich auch mitschicken.
wie lautet eigentlich der Eintrag der Verzeichnisse fürs debuggen in den projektoptionen, den zeigt mir delphi nicht an?

SirThornberry 31. Aug 2005 11:32

Re: Leere Klasse von einer anderen abgeleitet
 
zum debuggen kann man einerseits den Cursor über bestimmte Variablen halten, oder mit F8/F7 durch/reinsteppen und mit den Watches kann man auch variablen überwachen.

Flocke 31. Aug 2005 12:15

Re: Leere Klasse von einer anderen abgeleitet
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wir können's mal auf die ganz harte Tour versuchen.

1. Breakpoint auf die fehlerhafte Stelle.
2. Programm laufen lassen.
3. Beim erreichen des Breakpoints das CPU-Fenster aufrufen: Ansicht -> Debug-Fenster -> CPU.
4. Dort ein paar Zeilen (~ die Hälfte des sichtbaren Bereichs) zurückgehen.
5. Bildschirm abknipsen inkl. Code und Inhalt der Register (steht rechts).
6. Hier als Anhang posten.

Sollte dann so aussehen wie im Anhang.

Bigeddie 31. Aug 2005 12:43

Re: Leere Klasse von einer anderen abgeleitet
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier der Screenshot

Flocke 31. Aug 2005 13:05

Re: Leere Klasse von einer anderen abgeleitet
 
Self ist NIL!

Das bedeutet in 99% der Fälle, dass du irgendwo noch einen Drusel drin hast, so wie wir es schon beschrieben haben - dass du also obj.Create(...) und nicht obj:=Class.Create(...) aufrufst. Vielleicht an einer anderen Stelle als du denkst!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr.
Seite 4 von 5   « Erste     234 5      

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