개체 모델과 C#을 사용하여 새 패키지를 만들고 있습니다. 하위 패키지가있는 패키지를 재귀 적으로 만들고 있는데 제대로 작동합니다. 그러나 수동으로 ctrl시프트F11으로 프로젝트를 새로 고치지 않으면 스크립트가 완료된 후 EA에서 변경 사항이 표시되지 않습니다. 그 후에 작성한 패키지가 의도 한대로 표시됩니다.새로 생성 된 패키지는 수동 새로 고침 후에 만 표시됩니다.
새로 생성 된 패키지 newPackage.Update();
을 업데이트하고 상위 패키지 parentPackage.Packages.Refresh();
패키지를 새로 고칩니다.
재귀 적으로 모든 패키지를 만든 후 나는 또한 Repository.Exit()
으로 Model.Update()
, Repository.Models.Refresh();
, Model.Packages.Refresh();
aswell를 호출합니다.
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