Visio ドキュメントを操作するために、SWT (Standard Widget Toolkit) によって提供される OleAutomation Java API を使用しています。OleAutomation 呼び出しを使用して、自動化 API の Java ラッパーを生成しました。例:(形状の削除)
/**
* COM Id: 11
*/
public void Delete() {
//Invoke
Variant varInputArray[] = new Variant[0];
Variant varResult = oleAutomation.invoke(11, varInputArray);
for (Variant _varItr : varInputArray) {
_varItr.dispose();
}
if(varResult !=null)
{
varResult.dispose();
}
}
アプリケーション ロジックの特定の場所からこの削除を呼び出すと、特有の問題に直面しています。ページに図形を配置し、delete を呼び出します。奇数番号の呼び出しの場合、削除は成功し、varResult は VT_EMPTY(1 回目、3 回目、5 回目....時間の呼び出し) を返します。偶数番号の呼び出し (ページに形状を再度配置し、-2nd、4th、6th などを呼び出します) の場合、varResult は失敗を示す「null」を返します。ここで、偶数番号の呼び出しで何が問題になっているのかを理解する必要があります。Visio Automation フレームワークには、失敗の理由をログに記録できるログ機能がありますか?