System.Win.Mtsobj.TMtsAutoObject.DisableCommit
Delphi
procedure DisableCommit;
C++
void __fastcall DisableCommit();
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | System.Win.Mtsobj.pas System.Win.Mtsobj.hpp |
System.Win.Mtsobj | TMtsAutoObject |
説明
クライアントがトランザクションを完了するのを防ぎます。
DisableCommit メソッドを呼び出すと,クライアントからさらなるメソッドの呼び出しを受け取るまで,MTS オートメーションオブジェクトが現在のトランザクションを完了できないこと,またはステート情報を解放できないことを示すことができます。DisableCommit を呼び出した後,現在のトランザクション(あれば)は MTS オートメーションオブジェクトが EnableCommit または SetComplete を呼び出すまで完了できません。
MTS オートメーションオブジェクトのインターフェースが呼び出されるときに自動的に開始されるトランザクションの場合,DisableCommit は必要ありません。それらのトランザクションは,MTS オートメーションオブジェクトが SetComplete を呼び出すまでコミットされません。しかし,MTS オートメーションオブジェクトが以前に開始されたトランザクションにある場合,クライアントはそのトランザクションを制御し,MTS オートメーションオブジェクトが担当部分を完了する前にコミットを試みることができます。DisableCommit を呼び出すと,クライアントが早まってトランザクションをコミットするのを防ぐことができます。MTS オートメーションオブジェクトが DisableCommit を呼び出した後にクライアントがトランザクションをコミットしようとすると,トランザクションは中止されます。
ヒント: メソッドの最初に DisableCommit を呼び出すと,予期しない戻り値の結果として MTS オートメーションオブジェクトが早まってコミットするのを防ぐことができます。メソッド呼び出しが普通に終了する場合,EnableCommit または SetComplete の呼び出しはこの影響なくトランザクションの完了を許可します。