比如我做了一个软件,要能够进行二次开发,比如二次开发目的: 要在界面新增一个菜单,点击这菜单可以弹出个界面
在网上找资料:
弹出界面这块可以用bpl动态加载可是
我在数据库新建个菜单项,怎么新增事件,这事件要关联这个界面的bpl呢?或者有没有其他的方法 可以进行二次开发的?

解决方案 »

  1.   

    问题是要组织界面! 试试调用DLL窗口吧. 菜单就从数据库(或INI文本)着手.
      

  2.   

    如果软件支持 脚本 ,则连dll/bpl都不需要了
      

  3.   

    对你问题的假设——我假设你的软件分为一个exe和多个bpl,exe中实现了一个动态创建的菜单,在点击某个菜单之后可动态加载想要的bpl中的功能。而你说的二次开发实际是指对bpl的开发。如果我上面的理解没有错的话,那开发过程可分为下面几步:
    1. 定义bpl输出的接口。因为只有当接口统一之后,主程序才能以统一的方式对各模块进行处理,例如,定义两个输出函数:
    procedure PlugInEnter(ASender: TComponent); //调用模块时调用,负责相应窗口的创建等
    procedure PlugInLeave; //退出时调用,负责窗口的资源清理工作
    2. 建立菜单项和bpl的对应关系(例如,对每个菜单项进行编号,然后,维护一张编号和bpl名字的对应关系,当调用了相应编号的菜单时,根据对应关系,调用相应bpl中的PlugInEnter函数)
    3. 当程序退出时,调用加载模块的PlugInLeave进行相应的资源释放过程
      

  4.   

     google脚本,发现FastReport也是用脚本我就觉得FastReport都可以 动态加按钮事件等
    我去看看这类信息
      

  5.   

    有没有使用说明啊?为什么我用Remobjects Pascal Script 在程序一加上PSScript1,运行就卡住假死,去掉就有正常
      

  6.   

    原来又是你,好久没见过这么积极的分子了,
    本人没用过remobjects pascal scripter ,第一次用paxscriper感觉非常满意
    不想再试其他的了
      

  7.   


    paxscript也支持dfm啊
    只不过需要转为pas才能使用我的脚本可以直接使用dfm+pas