System.Win.ComObj.TAutoIntfObject.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 TAutoIntfObject

Description

SafeCallException est utilisée pour la gestion des exceptions OLE.

SafeCallException empêche une exception de sortir 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 le corps 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.