Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#5

AW: FLOAT_INVALID_OPERATION und FLOAT_OVERFLOW nur 64Bit

  Alt 15. Jul 2021, 17:23
Zitat:
* die Berechnungen ergeben dort keine Überläufe
* oder es gibt Überläufe, aber es werden keine Exceptions ausgelöst
Nun ja laut den Einstellungen müßte eigentlich ein Exception geworfen werden wenn eines Aufritt. Siehe Pic.
Aber es gibt keines.

Habe das hier mal getestet bringt aber keine Änderung
Delphi-Quellcode:
type
  TFPControlState = record
    _8087CW: Word;
    MXCSR: UInt32;
  end;

function GetFPControlState: TFPControlState;
begin
  Result._8087CW := Get8087CW;
  Result.MXCSR := GetMXCSR;
end;

procedure RestoreFPControlState(const State: TFPControlState);
begin
  Set8087CW(State._8087CW);
  SetMXCSR(State.MXCSR);
end;

var
  FPControlState: TFPControlState;
....
FPControlState := GetFPControlState;
try
  // call into external library that changes FP control state
finally
  RestoreFPControlState(FPControlState);
end;
Zitat:
sollte es eigentlich garkeine Überläufe geben, dann wäre es doch bissl blöd nur die "Fehlermeldung" abzuschalten, anstatt den eigentlichen Fehler zu beheben
Das ist korrekt.
Muß halt mal schauen wie ich das lösen kann.

Geändert von venice2 (21. Jul 2021 um 21:15 Uhr)
  Mit Zitat antworten Zitat