System.FSetExceptFlag
Delphi
function FSetExceptFlag(NewFlags: UInt32; Excepts: UInt32): UInt32;
C++
extern DELPHI_PACKAGE UInt32 __fastcall FSetExceptFlag(UInt32 NewFlags, UInt32 Excepts = (unsigned)(0x3f));
Inhaltsverzeichnis
Eigenschaften
| Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet | 
|---|---|---|---|---|
| function | public | System.pas System.hpp | System | System | 
Beschreibung
Setzt die Flags für Gleitkomma-Exceptions.
FSetExceptFlag setzt die im Parameter Excepts angegebenen Gleitkomma-Exception-Flags auf die im Parameter NewFlags angegebenen Werte.
Excepts und NewFlags repräsentieren Kombinationen der folgenden Werte:
| Konstante | 
|---|
| feeINEXACT | 
| feeUNDERFLOW | 
| feeOVERFLOW | 
| feeDIVBYZERO | 
| feeINVALID | 
FSetExceptFlag gibt die vorherigen Werte der in Excepts angegebenen Gleitkomma-Exception-Flags der Einheit zurück.
Excepts legt fest, welche Exception-Ereignis-Flags geändert und zurückgegeben werden sollen. Zum Beispiel: Wenn Excepts feeDIVBYZERO oder feeINVALID ist, werden nur diese Flags entsprechend der Werte in NewFlags geändert, und FSetExceptFlag gibt die alten Status nur dieser feeDIVBYZERO- und feeINVALID-Flags zurück.
Wenn Excepts 0 ist, ändert FSetExceptFlag keine Flags und gibt 0 zurück.
Standardmäßig ist Excepts = feeALLEXCEPT.feeALLEXCEPT legt die Menge aller möglichen Gleitkomma-Exception-Flags fest.
Beispiel
FSetExceptFlag(0); // Clears all pending floating-point number exceptions.
FSetExceptFlag(0, feeOVERFLOW); // Clears the pending floating-point number's overflow exception flag. Other flags are not changed.
 
FSetExceptFlag(feeALLEXCEPTION, feeOVERFLOW + feeUNDERFLOW); // Sets the overflow and underflow exception flag. Other flags are not changed.
 
FSetExceptFlag(feeOVERFLOW + feeUNDERFLOW); // Sets the overflow and underflow exception flag and clears other in-exact, div-by-zero and invalid-op flags.
Hinweise:
- Exception-Ereignis-Flags sind kumulativ. Einige Plattformen unterstützen Hardware-Exceptions. Wenn alle Exceptions aktiviert sind, löst die Gleitkomma-Einheit die Hardware-Exception sofort aus. Wenn die Exception maskiert ist, werden Exception-Ereignisse im Ereignis-Flag behalten.
NewFlags,Exceptsund Rückgabewerte sind auf jeder Plattform unterschiedlich. Um die Kompatibilität auf verschiedenen Plattformen zu gewährleisten, sollten Sie die Verwendung von SetExceptions und TArithmeticExceptions in Betracht ziehen.