![]() |
Gibt es Hexen?
Liste der Anhänge anzeigen (Anzahl: 1)
Wie kommt das Programm da in den then-Zweig hinein?
Das gibt es doch überhaupt nicht :?: Habt ihr eine Idee, wo ich da nach dem Fehler suchen könnte? |
AW: Gibt es Hexen?
Problem gelöst - Das Verhalten des Delphi Debuggers ist da ein ganz klein wenig verwirrend: er führt das, was im then Zweig steht, gar nicht aus, tut aber so, als wäre das, was im THEN Zweig steht, die aktuelle Anweisung - der Programmfehler war an einer anderen Stelle.
|
AW: Gibt es Hexen?
Mach es so, ist besser:
Delphi-Quellcode:
Alles andere sind Modeerscheinungen, beim debugen rächt sich das.
if ... then
begin if ... then exit; end; |
AW: Gibt es Hexen?
Oder einfach so (das ist sogar nicht nur besser, sondern besserer!):
Delphi-Quellcode:
Alles andere sind lächerliche Versuche der Tastaturmafia, uns zu überflüssigem Tippen zu verleiten, um den Tastaturumsatz anzukurbeln.
if ... then
if ... then |
AW: Gibt es Hexen?
Auch wieder ein super Thread-Titel
|
AW: Gibt es Hexen?
Damit glaubt jeder wieder an Hexen:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin TTimer(Sender).Interval := 10; Left := Left + (Random(5) - 2); Top := Top + (Random(5) - 2); end; |
AW: Gibt es Hexen?
@Popov
Es ist völlig egal, wie du es schreibst, der Debugger springt immer in die Zeile mit dem Exit, auch wenn die Bedingung nicht erfüllt ist. Ich habe jetzt extra alle Zeilenumbruch-Varianten ausprobiert. @Dejan Vu Wenn das erste if einen else Zweig hat und das zweite nicht, geht es ohne begin ... end gar nicht. |
AW: Gibt es Hexen?
Man könnte ja mal im Debugger schauen, was für ein Code an der Stelle liegt. :stupid:
|
AW: Gibt es Hexen?
Zitat:
Was den Vergleich angeht, so konnte ich dein Problem ein mal reproduzieren. Ich hab es genauso wie du geschrieben, nur wusste ich nicht ob er nun in der then oder exit Ziele ist. Also habe ich die Ausführung noch mal unterbrochen, es auf zwei Zeilen verteilt und wieder gestartet. Das zweite mal hat es nicht geklappt. Selbst nachdem ich es wieder rückgängig gemacht habe. Ich hab es dann noch ein Dutzend mal gestartet, es ging jedes mal durch. |
AW: Gibt es Hexen?
Zitat:
Delphi-Quellcode:
Nicht, damit das hier zu einem Glaubenskrieg für/wider überflüssiger Umschließung mit begin/end führt. Was für den Einzelnen besser lesbar ist, steht auf einem anderen Blatt. Nur ein 'begin/end' für eine Zeile einzuführen halte ich und ca. 50% der Entwickler für überflüssig und die anderen 50% nicht. Beide haben ihre Gründe. Man gewöhnt sich an beide Lesarten.
if foo then
if bar then doBar() else else doFoo(); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 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