C++バインディングで、実行終了時に、「Error: code = -8, msg = forcefully closed some objects」のメッセージが出力されます。

VC++で、Cachéへの物理的接続が完了した後は、その接続はDatabaseクラスによって管理されます。VC++で使用する「Cachéプロキシ・クラス」の作成は、このDatabaseクラスを作成した後である必要があります。

以下コマンド例をご参照ください。

 

int nRetCode = 0;
Db_err conn_err;
// connection
d_connection conn=tcp_conn::connect("localhost[1972]:SAMPLES","_SYSTEM","SYS",&conn_err);
if (conn_err) nRetCode=-1;
try{
// d_ref test; // これはエラー
Database db(conn);
d_ref test; // これはOK


上記例では、Databaseクラスは、各プロキシクラスのインスタンス(ここではSample_Personクラスのtest)情報を保持しなければならないため、Databaseクラスを先に作成しています。

そのため、「これはエラー」のコメント行のように、記述場所を誤った場合、プログラムの最後で、AccessViolationが発生し、エラーメッセージが表示されます。


該当する製品: Caché, Ensemble, HealthShare/Caché Based
関連トピック:
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る