AGB  ·  Datenschutz  ·  Impressum  







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

unerklärlicher Fehler

Ein Thema von wendelin · begonnen am 14. Apr 2023 · letzter Beitrag vom 14. Apr 2023
Antwort Antwort
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#1

unerklärlicher Fehler

  Alt 14. Apr 2023, 12:32
Hallo liebe Delphifreunde,

bitte schaut euch mal folgenden Code und das dazugehörige Bild an.
Delphi-Quellcode:

procedure 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;
Wenn ich einen Breakpoint bei ADate := StrToDateTime..... setze und m := i+k ist w.o. auskommentiert funktioniert der Braekpoint offensichtlich nicht
(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
Miniaturansicht angehängter Grafiken
encode.png  
Wolfgang
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: unerklärlicher Fehler

  Alt 14. Apr 2023, 16:46
Die Zeile

 ADate := StrToDateTime(MyVirt_Frei[i]); 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.
Peter Below
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: unerklärlicher Fehler

  Alt 14. Apr 2023, 19:11
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
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#4

AW: unerklärlicher Fehler

  Alt 14. Apr 2023, 21:56
Wir reden hier über Delphi 7?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: unerklärlicher Fehler

  Alt 14. Apr 2023, 22:32
ja, Delphi 7
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#6

AW: unerklärlicher Fehler

  Alt 14. Apr 2023, 22:48
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?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: unerklärlicher Fehler

  Alt 14. Apr 2023, 23:36
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
Wolfgang
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz