我正在使用對象模型和C#創建新包。 我正在用遞歸的方式創建包,並且工作正常。然而,我的變化不會在EA現身腳本完成後的工作,除非我手動刷新項目,CTRL轉變F11,在這之後我創建的包顯示爲目的。新創建的包僅在手動刷新後才顯示
我正在更新新創建的包newPackage.Update();
,以及刷新父包parentPackage.Packages.Refresh();
的包。
遞歸創建所有包後,我另外打電話給Model.Update()
,Repository.Models.Refresh();
,Model.Packages.Refresh();
以及Repository.Exit()
。
EA似乎重新繪製視圖,但不顯示新創建的包。
我是否在最後更新視圖缺少任何調用?
我使用這個代碼:
eaApplication = new EA.App(); // Create interface to EA
eaRepository = eaApplication.Repository;
eaRepository.EnableUIUpdates = true;
eaRepository.OpenFile(pathToEAPfile)
EA.Package eaModel = eaRepository.Models.GetAt(0);
EA.Package testModelPackage = (getting it via for loop);
EA.Package newPack = testModelPackage.Packages.AddNew("foopackage", "System.__ComObject");
newPack.Update();
testModelPackage.Packages.Refresh();
eaRepository.RefreshModelView(0);
eaRepository.Exit();
感謝您的迅速回復。但是,這仍然沒有辦法。我也嘗試傳遞所有新創建的包的單個包ID,但沒有成功。 – Lukas
您需要傳遞父包。這將逐漸下降。首先嚐試用'0'來查看它刷新整個視圖。 –
傳遞父包ID也不起作用。 – Lukas