System.Win.ComObj.TComObject.SafeCallException
Delphi
function SafeCallException(ExceptObject: TObject;
ExceptAddr: Pointer): HResult; override;
C++
virtual HRESULT __fastcall SafeCallException(System::TObject* ExceptObject, void * ExceptAddr);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Win.ComObj.pas System.Win.ComObj.hpp |
System.Win.ComObj | TComObject |
説明
OLE 例外を処理します。
SafeCallException は,例外が発生してその外へ制御が移るのを防ぎます。また,発生した例外はすべてメソッド内で処理する必要があります。
SafeCall メソッドを実装すると,黙示的な例外ブロックにそのメソッドのコードを記述しても例外は発生しません。
メモ: SafeCallException はグローバルルーチンの HandleSafeCallException を呼び出します。HandleSafeCallException はこの動作の標準的な処理方法を提供します。この関数は OLE 例外処理をサポートする(ISupportErrorInfo インターフェースを実装する)CoClass の各メソッドに影響を与えます。これらの CoClass メソッドが SafeCall 呼び出し規約を使用する場合,それらは HRESULT を返すように変更されます。手続きは HRESULT を返し,関数はそれらの通常の結果の値を最後の(出力)パラメータとして渡して,かわりに HRESULT を返します。メソッドは例外ブロックに封入され,その後 HRESULT が返されて,ISupportErrorInfo の処理が正しく機能するように環境設定されます。