企业管理应用系统平台插件接口应用说明


系统插件主要基于IAppMDIProc接口实现,
接口中提供了MainMdi属性,在程序加载插件时,由主程序负责指定当前主窗口,
ProcInformation,ProcLogo,ProcName主要是用于显示插件属性,包括信息说明,图标,及插件名称
DoAction方法在调用系统功能时会将功能名传递至此方法,
  如:
    在Function.xml文件中定义了:
      <内容 CodeName="Archive.Department">部门档案</内容>
    在主程序中将会自动查询是否正确加载Archive插件,若已经加载则会调用DoAction方法:
     DoAction("Department",ref tmpCancel)
        若在插件处理中将tmpCancel置为TRUE时则主程序将不再继续处理
  插件负责返回一个Form对象,告诉主窗口当前是否有新的窗口创建
OnApplicationInited方法在系统初始化完成后调用,一些插件特有的初始操作可在此完成,像加载一些特定的数据(加密数据等)
OnApplicationShutDown方法在主程序关闭时调用

在应用平台主中,系统将提供一个Platform的静态对象,对象中包括:
当前登录应用系统信息Application(为ApplicationInformation实例)
当前数据连接Connection
是否正在处理业务操作DoAction
主窗口对象MainForm
当前登录应用系统数据操作对象TableDefine
当前系统平台版本Version

其中Application属性提供了,当前登录平台的所有信息,包括用户信息及权限信息等,
Cure所提到的插件间通信的问题,我还暂没涉及到,真的谢谢Cure的提醒,
目前变通的方法是用ApplicationInformation对象中的Components来完成,
只是不知道是否足够达到各位所需要的功能,
ApplicationInformation.Components是一个ApplicationComponent的集合,里面是所有当前系统加载的
若需要一个指定的插件对象可以用下面的方法调用 
  返回一个Archive插件
  Archive tmpCurArch=(Archive)PlatForm.Application.Components["Archive"]


日后我将为系统增加IServiceContainer与IServiceProvider的接口实现,这样就能比较正规的达到各插件间彼此的调用

posted @ 2006-09-09 01:57  Pvistely  阅读(2107)  评论(0编辑  收藏