![]() |
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 |
Re: Leere Klasse von einer anderen abgeleitet
Zitat:
|
Re: Leere Klasse von einer anderen abgeleitet
Ja sicher, die Optimierung habe ich zum debuggen immer ausgeschaltet
|
Re: Leere Klasse von einer anderen abgeleitet
du schreibst ja im constructor
Delphi-Quellcode:
womit du eine setmethode aufrufst. Kann es sein das du in dieser SetMethode auf etwas zugreifst was zu diesem zeitpunkt noch nicht initialisiert ist?
DataStructure := TheStructure;
Vielleicht hilft es ja auch wenn du mal den gesammmten quelltext anhängst damit wir debuggen können. |
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 |
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? |
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.
|
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. |
Re: Leere Klasse von einer anderen abgeleitet
Liste der Anhänge anzeigen (Anzahl: 1)
hier der Screenshot
|
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. |
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