Qt中插件如何访问宿主程序提供的一些对象及函数?
假设现在有两个项目,一个产生宿主程序(host),另一个产生一个dll文件(插件),提供一个接口.
宿主程序使用QPluginLoader将dll加载进入内存,使用instance方法获取到dll提供的实例化的一个接口对象.
这时候出现问题了,假设我在宿主程序中有一个连接数据库的单例对象,那么在插件项目中如何才能访问这个对象呢?
现在相当于是已经实现了宿主对插件对象的访问,但是如何才能反过来访问呢?
之前想过一种思路就是调用instance的方法将数据库的对象给他传进去,但是这样的话相当于操作数据库的代码在程序中出现了两遍,感觉不妥...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果你直接暴露instance,自然操作得两边各自持有一份。让两边都直接操作它不太合理。应当只有一边有直接操作权,另一边只允许访问一些有限的高级的接口。