![]() |
AW: Autovervollständigen geht manchmal nicht
Außerdem kannst du nicht innerhalb eines With-Statement-Blocks debuggen. Das ist der größte Horror.
Sag mir mal hier die Werte für Count, Sorted und CaseSensitive:
Delphi-Quellcode:
procedure Test;
var StringList: TStringList; begin with TStringList.Create do begin Add('asdfasdf'); if Count > 0 then begin Sorted := CaseSensitive; end; Free; end; end; |
AW: Autovervollständigen geht manchmal nicht
Danke für die Hinweise. Ich habe den Fehler finden können.
Es war tatsächlich eine Kreuzreferenz. Vielen Dank nochmal an alle. |
AW: Autovervollständigen geht manchmal nicht
Zitat:
Delphi-Quellcode:
Das ging viele Jahrzehnte gut, bis
procedure TForm1.irgendwas();
begin with IrgendwasMitTRect do Width := Right - Left; end; ![]()
Delphi-Quellcode:
Self.Width := Rect.Right - Rect.Left;
// wurde zu Rect.Width := Rect.Right - Rect.Left; |
AW: Autovervollständigen geht manchmal nicht
Worum es mir geht ist eher so ein Dialog:
Ich: "Hey Chef wir sollte auf "with" verzichten." Chef: "Warum das denn?" Ich: "Weil das früher in TRect Probleme gab." Chef: "Wir haben Delghi 10.2 im Einsatz. Was interessieren mich Probleme von Gestern?" Gibt es aktuelle Beispiel oder sollte ich das Gespräch von ober erst gar nicht anfangen? |
AW: Autovervollständigen geht manchmal nicht
Zitat:
|
AW: Autovervollständigen geht manchmal nicht
Das ist ein Beispiel für ein eventuell "zukünftiges" Problem.
Früher ging es mal, dann wurden Klassen/Records umgebaut/erweitert und plötzlich ging es nicht mehr, aber es knallt meistens auch nicht, wenn plötzlich etwas doppelt vorhanden ist, in verschiedenen Namespaces. ALSO, jetzt geht es in 10.2, aber in 10.4 könnte es wieder anders aussehn. |
AW: Autovervollständigen geht manchmal nicht
Zitat:
|
AW: Autovervollständigen geht manchmal nicht
Zitat:
Man sollte die Nachteile kennen und die gegen die Vorteile abwägen, das gilt aber eigentlich für so ziemlich alles. Ich persönliche Verwende with nur wenn die Lesbarkeit dadurch merklich erhöht wird. Beispielsweise für eigene Konfigurationsobjekte, da kommt niemand in die Quere. Das mit den Debuggen stimmt und das sollte man bedenken, jedoch muss ich aber sagen, wann genau funktioniert das Debuggen überhaupt? Meist sehe ich nichtssagende Speicheradressen oder "Ausdruck lässt sich nicht auswerten" oder mal lässt er sich auswerten aber dann nicht Überwachen. Möchte man komplexere Objekte zur Laufzeit durchdringen hat man schnell 10 weitere Fenster offen, dank fehlender Autovervollständigung muss man auch immer hin und her springen. Am ende wird die kritische Stelle einfach extra für das Debuggen präpariert... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 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