QPlugins 插件框架是由 QDAC 项目组设计的轻量级插件框架,它试图提供一套基于接口的跨语言(初始版本支持 Delphi、C++)、跨平台(初始版本支持Windows,计划支持 Android/Linux/OSX/iOS 等平台)的一个插件框架。目前正在开发中,欢迎大家加入讨论。
本插件框架的设计理念参考了冰晰空气、不得闲和天地弦的插件框架,希望最终的作品能够让大家满意。
核心功能特性:
- 支持进程内和进程外两种插件模式。进程内的插件包括 DLL/BPL(Windows下)、SO(Linux 系)、脚本(所有平台)三种模式,进程外的插件包括进程插件和网络插件;
- 基于服务的理念,插件提供各种服务。服务通过路径组织成不同的服务目录树,用户可以通过服务的 GUID 编码或者路径检索并获取服务;
- 支持路由模式。通过设置特定的路由路径,可以在不同的服务之间进行路由控制;
- 内置快速高效的原生数据交换格式支持,方便跨语言协作;
【基本概念】
QPlugins – 基本的原型演示程序已经出来了,欢迎大家测试并提供建议
为啥不能在 DLL/BPL 与主程序之间直接传递对象做为参数?