ads_commandによるOPENコマンドの実行に失敗します
現在、IJCAD2013からIJCAD2018へのマイグレーションを行っております。
ads_command(RTSTR,_T(".OPEN"),RTSTR,filePath,RTNONE);
上記の処理を実行すると、「コマンドが認識されません」と表示され図面のオープンに失敗します。
IJCAD2013の時には問題なく動作していて、今回もコード自体は特に変更ない状態です。
同じ位置で「ZOOM」を実行した場合は認識されました。
また、マイグレーション前後の環境は下記の通りです。
[前]
Windows7(32bit)
IJCAD2013(32bit)
[後]
Windows10(64bit)
IJCAD2018(32bit)
何か回避策があればご教示いただけないでしょうか。よろしくお願いいたします。
追記
ご教示いただいた方法で実装したところ、望む動作になりました。
ありがとうございます。
前)
void dwgopen()
{
...
ads_command(RTSTR,_T(".OPEN"),RTSTR,filePath,RTNONE);
//元々開いていた図面を閉じる処理
...
}
後)
void openDocHelper( void *pData)
{
AcApDocument* pDoc = acDocManager->curDocument();
if (acDocManager->isApplicationContext()) {
acDocManager->appContextOpenDocument((const GCHAR *)pData);
} else {
acutPrintf( _T("\nドキュメント作成に失敗: %s"),(const char *)pData );
}
//元々開いていた図面を閉じる処理
...
}
void dwgopen()
{
...
acDocManager->executeInApplicationContext(openDocHelper, (void *)filepath);
}
また、補足ですが、本処理後に別のコマンドにてダイアログの表示時にエラーが発生するようになり、表示前に「CAcModuleResourceOverride resourceOverride;」を追加することで解決しました。