Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Autovervollständigen geht manchmal nicht (https://www.delphipraxis.net/196619-autovervollstaendigen-geht-manchmal-nicht.html)

TiGü 5. Jun 2018 10:25

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;

Edelfix 5. Jun 2018 11:03

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.

himitsu 5. Jun 2018 11:39

AW: Autovervollständigen geht manchmal nicht
 
Zitat:

Zitat von Edelfix (Beitrag 1403919)
Ich lese immer wieder dass man auf "with" verzichten soll. Was ist die Begründung?

Delphi-Quellcode:
procedure TForm1.irgendwas();
begin
  with IrgendwasMitTRect do
    Width := Right - Left;
end;
Das ging viele Jahrzehnte gut, bis Delphi-Referenz durchsuchenSystem.Types.TRect.Width erfunden wurde. :stupid:

Delphi-Quellcode:
Self.Width := Rect.Right - Rect.Left;
// wurde zu
Rect.Width := Rect.Right - Rect.Left;

Edelfix 5. Jun 2018 13:44

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?

TiGü 5. Jun 2018 13:48

AW: Autovervollständigen geht manchmal nicht
 
Zitat:

Zitat von Edelfix (Beitrag 1403953)
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?

Debuggt ihr eure Anwendungen nicht?

himitsu 5. Jun 2018 13:50

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.

Uwe Raabe 5. Jun 2018 14:27

AW: Autovervollständigen geht manchmal nicht
 
Zitat:

Zitat von Edelfix (Beitrag 1403953)
sollte ich das Gespräch von ober erst gar nicht anfangen?

Definitiv nicht! Solche Dinge erledigt man besser in Eigenverantwortung ohne zu fragen.

Elrond 5. Jun 2018 14:32

AW: Autovervollständigen geht manchmal nicht
 
Zitat:

Zitat von Edelfix (Beitrag 1403953)
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?

Das ganze ist, wie du richtig erkannt hast, ein philosophische Diskussion.
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.
Seite 2 von 2     12   

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