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

  • 相关阅读:
    docker 容器使用 systemctl 命令报错
    lxml 这个包和openpyxl 起冲突
    解决GPG error: The following signatures couldn't be verified because the public key is not available
    pyinstaller bug
    PyCharm使用技巧及常用快捷键
    python 软件目录规范
    Wpf canvas 绘图 像素对齐
    wpf ListView 隔行 (各行) 显示 不同 背景 颜色
    C# wpf 获取 数字 类型 所占字节数
    Mybatis-Plus QueryWrapper +sql自定义查询
  • 原文地址:https://www.cnblogs.com/pvistely/p/499361.html
Copyright © 2011-2022 走看看