![]() |
unerklärlicher Fehler
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe Delphifreunde,
bitte schaut euch mal folgenden Code und das dazugehörige Bild an.
Delphi-Quellcode:
Wenn ich einen Breakpoint bei ADate := StrToDateTime..... setze und m := i+k ist w.o. auskommentiert funktioniert der Braekpoint offensichtlich nichtprocedure TForm1.BitBtn1Click(Sender: TObject); VAR MyVirt_Frei : Array[0..8] of String; i,k,m : Integer; ADate : TDateTime; // oder Double oder extended ? MyADate : Array[0..3] of TDateTime; // oder Double oder extended ? begin MyVirt_Frei[0] := '07.04.2023'; // virt. Freitage z.B. für Infineon z.B den 06.04.2023 - 03.04. 2023 MyVirt_Frei[1] := '15.04.2022'; // == börsenfreie Tage MyVirt_Frei[2] := '31.12.2021'; // == börsenfreie Tage MyVirt_Frei[3] := '24.12.2021'; // == börsenfreie Tage MyVirt_Frei[4] := '02.04.2021'; MyVirt_Frei[5] := '01.01.2021'; MyVirt_Frei[6] := '25.12.2020'; MyVirt_Frei[7] := '01.05.2020'; MyVirt_Frei[8] := '10.04.2020'; // virt. Freitage z.B. für Infineon z.B den 06.04.2023 - 03.04. 2023 m := 0; // wenn 'm:= 0' auskommentiert wird ist ....--> For i := 0 to 8 do // zu den entsprechenden Freitagen müssen due DAVOR LIEGENDEN 1-4 Tage begin // herausgefiltert werden For k := 0 to 3 do begin // m := i+k; // nur zum testen eingesetzt!!!; wenn 'm:= i+k' aktiv ist // läuft alles wie es soll !! ShowMessage(IntToStr(m)); // -->> ist'm' = 10 !! sonst = 0 ADate := StrToDateTime(MyVirt_Frei[i]); // fehlender Freitag MyADate[k] := (ADate-1); end; end; end; (Siehe Bild i = 9,k = 4 !) d.h. die Schleifen laufen durch. Wenn ich die Auskommentierung aufhebe läuft alles korrect. Wer hat eine Idee bezüglich des seltsamen Verhaltens ? vielen Dank Wolfgang |
AW: unerklärlicher Fehler
Die Zeile
Delphi-Quellcode:
gehört vor die "for k"-Schleife da das Ergebniss nicht von k abhängt. Vermutlich erkennt der Optimiser das und reorganisiert den Kode ohne die Dummy-Statements, was die Anzeige der blauen Dots durcheinanderbringt.
ADate := StrToDateTime(MyVirt_Frei[i]);
|
AW: unerklärlicher Fehler
Hallo Peter Below,
danke für Deine Antwort. Ich habe die Zeile m := i+k nur als Dummy reingeschrieben. Wenn die Zeile fehlt tritt genau dieser Fehler auf. Wenn die Zeile eingestzt ist(an der 1. Zeile der inneren Schleife) und NICHT auskommentiert ist, tritt kein Fehler auf, der Debugger hält sofort und die Variablen i und k zeigen '0' an! Wie es sein sollte. Wolfgang |
AW: unerklärlicher Fehler
Wir reden hier über Delphi 7?
|
AW: unerklärlicher Fehler
ja, Delphi 7
|
AW: unerklärlicher Fehler
Da ich das schon eine gefühlte Ewigkeit nicht mehr verwende und das jetzt auch nicht anfangen werde, kann ich hier nur wenig beitragen. Was mir spontan einfällt: Ist die Optimierung auch ausgeschaltet?
|
AW: unerklärlicher Fehler
Hallo Herr Raabe,
es lag an der Optimierung !! Sie hatten völlig recht. Vielen Dank für Ihren Tip. Damit hat sich meine Frage erledigt. Wolfgang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 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