まず、タイプミスなどをお詫びします。英語は私の母国語ではありません:)
Revit 用のアドインを作成し、アドインの自動更新に取り組んでいます。私はすでに更新をソートしていますが、小さな問題に遭遇しました。
Revit の起動時に更新をチェックしています(Revit がアドイン アプリケーションを作成するとき)
public Result OnStartup(UIControlledApplication application)
{
Result result = CreateApplication(application);
if (result == Result.Succeeded)
{
UpdateService updates = new UpdateService();
try
{
updates.ManageUpdates(application);
}
catch (Exception ex)
{
NotificationManager.Notify("error", ex.InnerException.Message, messageType.error);
}
}
return result;
}
更新が利用可能な場合は、ユーザーに更新するかどうかを尋ねるメッセージを表示しています。はいの場合は、Revit を閉じて更新を開始します。
問題は、この時点で Revit 自体のロードが完了していないことです。プログラムで閉じると、さらに 5 秒間閉じる準備ができていないため、エラーがスローされます。
System.Threading.Thread.Sleep(5000);
私のマシンの問題は解決しますが、必ずしもユーザーの問題ではありません。そのため、Revit を閉じる準備ができているかどうか (閉じることができる状態) を確認する方法が必要です。
問題は、Revit を閉じることができるかどうかを確認する方法はありますか? 誰かがこのような問題を抱えていて、それを解決しましたか?
(ユーザーが Revit を閉じたときに更新を確認できることはわかっていますが、理想的ではありません...
何か案は?