System.Win.ComObj.TComObject.SafeCallException

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

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

C++

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

Propriétés

Type Visibilité  Source Unité  Parent
function public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj TComObject

Description

Gère les exceptions OLE.

SafeCallException empêche une exception d'être déclenchée en sortant de sa portée. Toute exception déclenchée doit également être gérée dans la méthode.

L'implémentation d'une méthode safecall garantit qu'aucune exception ne peut être déclenchée en encadrant la partie instruction de la méthode dans un bloc d'exception implicite.

Remarque :  SafeCallException appelle la routine globale HandleSafeCallException qui propose un moyen standard de gérer ce comportement. Les méthodes d'une CoClasse qui prend en charge la gestion des exceptions OLE (c'est-à-dire qui implémente l'interface ISupportErrorInfo) sont affectées par cette fonction. Si ces méthodes de CoClasse utilisent la convention d'appel safecall, elles sont modifiées pour renvoyer un HRESULT. Les procédures renvoient un HRESULT, et les fonctions transmettent leur valeur de résultat habituel dans le dernier paramètre (out) et renvoient un HRESULT à la place. La méthode est encadrée dans un bloc d'exception, puis le HRESULT est renvoyé et l'environnement est défini de telle manière que l'implémentation de ISupportErrorInfo fonctionne correctement.