C++ Builder实现可配置界面中遇到的问题【2、问题解决】

C++ Builder实现可配置界面中遇到的问题【2、问题解决】

设计变更:类数量不变,因为经过分析,是因为在exe和dll之间传递VCL特有数据类型所致。
                   原先的二进制部署亦不变。
                   定义数据类型,模仿TMenuItem的形式,里面封装了id, name, caption, hint, shortcut和一个void(*pFun)()的函数指针,该指针指向DLL内部的一个非成员函数,该函数内部调用类成员函数(前提是exe中的DLLManager的LoadDLL方法创建了该类的实例)。
                   EXE的AddMenu接口接受该数据类型的参数,根据其中的资源创建TAction,TAction和pFun一并压入自身容器中,所有Action的OnExecute均指向Main中的一个可以赋值给TNotifyEvent指针的函数。
                   添加完毕,EXE执行激活操作(初始化的时候已经根据UI配置文件创建了状态为Idel的菜单)将添加的Action对号入座,激活菜单。
                   OnClick事件触发TNotifyEvent操作,遍历Exe容器,找到pFun()触发之。

问题解决!

下一步:美化界面。

你可能感兴趣的:(C++ Builder实现可配置界面中遇到的问题【2、问题解决】)