摘要: 工作需要开发的一套插件框架,给应用程序提供灵活的插件支持,基于Dll / Interface实现。先上个图这是个标准的基于插件的应用,下拉框里的就是由5个插件Dll提供的功能。主程序中定义了一个接口,而插件Dll则提供这个接口的实现。使用也很简单,在窗口上放置一个TExtensionManager组件,设置一下插件的读取路径就可以了。框架中有3个重要概念,ServiceHost,Module(模块)和扩展(Extension)1.ServiceHost是整个框架的灵魂,不管是主程序中还是插件中,都通过他来查询和使用其他的插件对象。下面是一段使用示例代码: (ServiceHost as ILo 阅读全文
posted @ 2012-02-22 23:52 Sephil 阅读(4033) 评论(7) 推荐(0) 编辑
摘要: 最近公司开发的几个软件都需要支持皮肤,因此花了半个月做了一套皮肤引擎,也就是所谓的Direct UI,即控件都是画在窗体上的,只有容器窗体是有实际句柄的,子控件并非标准的Window。说说这套引擎的几个特性绘制效率尚可,至少图片很多时也没有发现有闪烁;支持的常用图片格式(BMP/JPG/PNG/GIF/ICON等),并支持图片透明;图片延迟载入,避免占用内存资源;皮肤支持多种存储格式,如ZIP打包、EXE内嵌资源等,要扩充新的格式也很方便;容器基于Delphi的TWinControl,例如你在窗口上放置一个Panel,只在这个Panel里使用皮肤;支持同时使用多个皮肤,比如Form1用一种皮肤 阅读全文
posted @ 2012-02-22 23:29 Sephil 阅读(7011) 评论(4) 推荐(0) 编辑