上一页

初始化自定义组件

自定义组件给具有编程能力的用户提供更便捷,更灵活控制报表的接口。用户可以使用任意开发方式实现组件功能,只需在接口部分符合C#动态加载组件规范要求即可。接口部分要求如下:

  1. 实现接口的必须是.net framework 4.0版本的32位类库文件或可执行文件。此文件访问的间接库或接口不受此限制.
  2. 组件需引用 NX.Interop.dll, 此文件在NxCells\client文件夹下。并实现IPluginGuest接口。

IPluginGuest接口包含三个函数。

  • Init函数是NX初始化组件时调用,并传递能够控制NX的报表对象(host).
  • 与Init相反的是Terminate函数。当报表关闭时调用。
  • 在NX中使用报表命令-自定义组件赋值,当报表中执行此命令时,将在组件中触发Request函数。

按照以上要求实现组件后,将生成的文件放到NxCells\client文件夹下。然后在报表中新增报表命令如下:

初始化组件的时机可以是报表的任意周期,一般是在加载报表完成后初始化组件。初始化组件涉及两个参数:

  1. 命名空间的类名
    是实现了上面提到的IPluginGuest接口的包括命名空间的类全名.

    上图中的包括命名空间的类全名是 NxcellsCom.Plugin

  2. 动态库文件名
    是上面生成的组件全文件名,一般是动态链接库(dll)或可执行文件(exe).

到此,组件的初始化工作便完成了.

特别提到的几点:

  • 重复初始化组件实际上是当前报表实例化了多个组件对象.
  • 如果组件中调用了需要释放的资源,可以在Terminate函数中进行释放.
  • 同一个组件文件里面可以有多个实现IPluginGuest接口的类,只需要在初始化时指定需要类即可.同样可以在同一个报表初始化多个不同的组件.

下一页

作者:小明  创建时间:2022-01-21 16:59
最后编辑:harry  更新时间:2023-10-30 15:47