初始化自定义组件
自定义组件给具有编程能力的用户提供更便捷,更灵活控制报表的接口。用户可以使用任意开发方式实现组件功能,只需在接口部分符合C#动态加载组件规范要求即可。接口部分要求如下:
- 实现接口的必须是.net framework 4.0版本的32位类库文件或可执行文件。此文件访问的间接库或接口不受此限制.
- 组件需引用 NX.Interop.dll, 此文件在NxCells\client文件夹下。并实现IPluginGuest接口。
IPluginGuest接口包含三个函数。
- Init函数是NX初始化组件时调用,并传递能够控制NX的报表对象(host).
- 与Init相反的是Terminate函数。当报表关闭时调用。
- 在NX中使用报表命令-自定义组件赋值,当报表中执行此命令时,将在组件中触发Request函数。
按照以上要求实现组件后,将生成的文件放到NxCells\client文件夹下。然后在报表中新增报表命令如下:
初始化组件的时机可以是报表的任意周期,一般是在加载报表完成后初始化组件。初始化组件涉及两个参数:
命名空间的类名
是实现了上面提到的IPluginGuest接口的包括命名空间的类全名.
上图中的包括命名空间的类全名是 NxcellsCom.Plugin动态库文件名
是上面生成的组件全文件名,一般是动态链接库(dll)或可执行文件(exe).
到此,组件的初始化工作便完成了.
特别提到的几点:
- 重复初始化组件实际上是当前报表实例化了多个组件对象.
- 如果组件中调用了需要释放的资源,可以在Terminate函数中进行释放.
- 同一个组件文件里面可以有多个实现IPluginGuest接口的类,只需要在初始化时指定需要类即可.同样可以在同一个报表初始化多个不同的组件.
作者:小明 创建时间:2022-01-21 16:59
最后编辑:harry 更新时间:2023-10-30 15:47
最后编辑:harry 更新时间:2023-10-30 15:47