随笔-60  评论-98  文章-0  trackbacks-0

设计变更:类数量不变,因为经过分析,是因为在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()触发之。

问题解决!

下一步:美化界面。
posted on 2008-07-16 15:19 创建更好的解决方案 阅读(1077) 评论(0)  编辑 收藏 引用 所属分类: C++专栏UI美学软件设计

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理