Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#1

(2*6+1)=0 - Seit heute rechnet mein Programm ab und zu falsch

  Alt 25. Sep 2024, 11:52
Hallo...
seit heute tritt bei meinem unter 11.2 kompilierten Programm ein seltsamer Fehler auf.

lenar und maxsc sind vom Typ integer, kein Multithreading. Win64 Modus/Debug Mode.
Ab und zu hat lenar nach der Zeile
lenar := 2*(maxsc+1);
den Wert 0, obschon maxsc zum Beispiel den Wert 6 hat.


Wenn ich diesen Code laufen lasse:

Delphi-Quellcode:
      lenar := 2*(maxsc+1);
      if (maxsc > 0) and (lenar = 0)
        then
        begin
          showmessage('m='+maxsc.ToString + ' l='+lenar.ToString);
          lenar := 2*(maxsc+1);
          ShowMessage( lenar.ToString );
        end;
... wird nach dem Auftreten des Problems (siehe Code oben) m=6 l=0 ausgegeben. Ich berechne dann lenar erneut und jetzt stimmt der Wert; lenar ist 14.

Da Debuggen unter Win64 wenig Spass macht, wechsle ich zu Win32. Problem bleibt.

Weder die IDE noch Eurekalog melden sich mit einem "Aber Hallo...". Windows zeigt mir an, dass mein Programm etwa 22 MB Speicher beansprucht - also praktisch nix. (Vergleich: Windows Cloud App über 500MB)

Tipps? Danke.
Michael Gasser
  Mit Zitat antworten Zitat