Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Debug-Zugriffsverletzung (https://www.delphipraxis.net/177129-debug-zugriffsverletzung.html)

stahli 18. Okt 2013 00:03

Debug-Zugriffsverletzung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe eine (für mich) unklare Zugriffsverletzung beim debuggen.
Anbei Screenshot.

Self ist ein Panelderivat und m.E. intakt existent.
Width wird beim Debuggen nicht angezeigt, aber zur Laufzeit verwendet.

Ich kann mir das nicht recht erklären.


EDIT: Ich denke ich weiß den Grund (Blitzidee bei der Frageformulierung ;-)), schicke das aber dennoch mal ab...
Ich debugge die Designtime, also mit Delphi als Hostanwendung.
Offenbar kommt der Debugger da bei einigen Eigenschaften durcheinander.


Falls jemand andere Erklärungen kennt, dann her damit.

Namenloser 18. Okt 2013 00:07

AW: Debug-Zugriffsverletzung
 
Passiert es auch bei Self.Width als überwachtem Ausdruck? Manchmal kommt der Debugger durcheinander, worauf sich ein Bezeichner bezieht.

Und lass dir auch mal Pointer(Self) anzeigen, dann kannst du leichter zuordnen, ob die Speicherstelle, an der die Zugriffsverletzung auftritt, wirklich zum Objekt gehört.

baumina 18. Okt 2013 06:12

AW: Debug-Zugriffsverletzung
 
Ist das eine Unter-procedure oder warum steht da kein procedure [Objectname].CheckSnapToLayout?

stahli 18. Okt 2013 08:15

AW: Debug-Zugriffsverletzung
 
Also es liegt offenbar tatsächlich am "Delphi als Hostanwendung".

Bisher habe ich manchmal nur gedacht, Delphi spinnt manchmal, jetzt sehe ich zumindest einen "guten Grund".
Deshalb wollte ich das mal thematisieren.

Self ist in Ordnung. Sieht man auch links im Self-Namen (ssLayout4).
Self.Width geht auch nicht.
Es ist eine Unterprozedur, aber der Fehler tritt auch auf in der Objektmethode.

fWidth funktioniert, Width (also der Getter) nicht.
Wenn ich das Projekt normal ausführe und debugge funktioniert alles.

Ob es u.U. mit FMX etwas zu tun hat weiß ich nicht.
Auf jeden Fall aber mit Delphi als Host.

jaenicke 18. Okt 2013 09:29

AW: Debug-Zugriffsverletzung
 
Ist in den Projektoptionen vielleicht die Comnpileroptimierung eingeschaltet?

stahli 18. Okt 2013 20:01

AW: Debug-Zugriffsverletzung
 
Nein, ist aus.

Fazit: Beim Debuggen von Designtimeverhalten kann es einige überraschende Probleme geben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 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