zoukankan      html  css  js  c++  java
  • 企业管理应用系统平台插件接口应用说明


    系统插件主要基于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的接口实现,这样就能比较正规的达到各插件间彼此的调用

  • 相关阅读:
    进度条加载后显示页面
    解决跨域问题
    js下IE和FF的一些兼容写法总结
    linux
    linux 批量替换文件内容
    DVWA-1.9之fileupload
    python库安装失败的解决方法
    python程序打包
    CF 1133C Balanced Team
    CF 1133B Preparation for International Women's Day
  • 原文地址:https://www.cnblogs.com/pvistely/p/499361.html
Copyright © 2011-2022 走看看