企业架构师-在C#中强调广播事件

本文关键字:广播 事件 企业 | 更新日期: 2023-09-27 18:00:14

我已经在C#中创建了EA添加,其中包含菜单,现在单击菜单项时会调用EA_MenuClick。我想显示窗口窗体。因此,只有打开模型文件时,这才有效。如果模型文件没有打开,它会抛出一条消息,称为"对象引用未设置为对象实例"。

那么,即使没有打开模型文件,我如何显示表单呢?经过研究,我发现我们可以通过文件打开广播进行控制,所以我如何在C#中访问这种方法并修改它。

在引用中,我添加了Interop EA.dll,那么我应该添加哪些其他引用来获得EA_Fileopen函数感谢

企业架构师-在C#中强调广播事件

Interop.EA包含整个EA API,不需要添加其他引用。

出现错误的原因是,您试图访问存储库的内容,而没有首先检查存储库是否打开。您需要检查EA_MenuClick()Repository参数是否有效。

您还应该添加一个菜单状态处理程序(EA_GetMenuState()),用于检查存储库是否有效,并将需要打开存储库的所有菜单项的IsEnabled设置为false。这将禁用它们并阻止EA调用EA_MenuClick()