AGB  ·  Datenschutz  ·  Impressum  







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

With - Variablen - Problem

Ein Thema von stahli · begonnen am 15. Mär 2010 · letzter Beitrag vom 17. Mär 2010
 
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: With - Variablem - Problem

  Alt 16. Mär 2010, 19:07
"Schuld" sind die AlphaControls.
Mehr oder weniger auf Verdacht habe ich die AlphaControls (Alpha Skins) einmal aus meinem Projekt entfernt und damit das Problem behoben.

Es stellen sich mir in dem Zusammenhang zwei Fragen:

1) Wie kann es sein, dass der Compiler die Variable nicht kennt, diese aber beim Start mit F7 sofort in den überwachten Ausdrücken verfügbar ist?


2) Warum greift die Regel nicht, dass Bezeichner innerhalb einer With-Anweisung vorrangig dem "With-Objekt" zugeordnet werden.
Aus der Hilfe: "Jede Variablenreferenz und jeder Methodenname in einer with-Anweisung wird, wenn möglich, als Element des angegebenen Objekts bzw. Records interpretiert. Wenn in der with-Anweisung auf eine andere Variable oder Methode mit demselben Namen zugegriffen werden soll, ist ein Qualifizierer erforderlich:"


PS: Klar kann ich an der Stelle auf "with" verzichten, mich würde aber auch das grundsätzliche Problem interessieren. Ist das Problem nachvollziehbar oder völlig unerklärlich (dann bestünde ja IMMER die Gefahr, dass das Programm zur Laufzeit auf irgendeine Variable zugreift, die dem Compiler noch unbekannt war)?



Delphi-Quellcode:
outputdebugstring(pchar(floattostr(vpe.nbottom))); // = 1.81
with vpe do
  outputdebugstring(pchar(floattostr(nbottom))); // = 1.81
...hat gezeigt, dass das With-Problem in der Form gar nicht besteht.

Lediglich beim "Einsehen" der Daten wird vom Debuger auf die falsche (nicht gemeinte) Variable zurückgegriffen.
Es wäre in dem Zusammenhang sicher wünschenswert, wenn dieser im Hint bei MouseOver den With-Bezug erkennen würde.

Die erste Frage bleibt aber m.E. durchaus berechtigt bestehen... So

Stahli
  Mit Zitat antworten Zitat
 


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 20:33 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