System.Win.ComObj.TComObject.SafeCallException

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function SafeCallException(ExceptObject: TObject;
ExceptAddr: Pointer): HResult; override;

C++

virtual HRESULT __fastcall SafeCallException(System::TObject* ExceptObject, void * ExceptAddr);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj TComObject

Beschreibung

Dient zur Behandlung von OLE-Exceptions.

SafeCallException verhindert, dass eine ausgelöste Exception ihren Gültigkeitsbereich verlässt. Alle ausgelösten Exceptions müssen auch in dieser Methode behandelt werden.

Durch die Implementierung einer Safecall-Methode kann sichergestellt werden, dass keine Exceptions ausgelöst werden, indem der Anweisungsteil der Methode in einen impliziten try...except-Block eingeschlossen wird.

Anmerkung:  SafeCallException ruft die globale Routine HandleSafeCallException auf, die eine Standardbehandlung bereitstellt. Diese Funktion wirkt sich auf die Methoden einer Co-Klasse aus, die OLE-Exception-Behandlung (die die ISupportErrorInfo-Schnittstelle implementiert) unterstützt. Verwenden die Methoden die Safecall-Aufrufkonvention, werden sie geändert, um HRESULT zurückzugeben. Prozeduren geben HRESULT zurück, Funktionen übergeben ihren normalen Rückgabewert als letzten Parameter und geben stattdessen HRESULT zurück. Die Methode wird in einen try...except-Block eingeschlossen, HRESULT zurückgegeben und die Umgebung so eingerichtet, dass die ISupportErrorInfo-Implementierung richtig funktioniert.