Qt中插件如何访问宿主程序提供的一些对象及函数?

发布于 2022-09-05 07:57:45 字数 309 浏览 15 评论 0

假设现在有两个项目,一个产生宿主程序(host),另一个产生一个dll文件(插件),提供一个接口.

宿主程序使用QPluginLoader将dll加载进入内存,使用instance方法获取到dll提供的实例化的一个接口对象.

这时候出现问题了,假设我在宿主程序中有一个连接数据库的单例对象,那么在插件项目中如何才能访问这个对象呢?

现在相当于是已经实现了宿主对插件对象的访问,但是如何才能反过来访问呢?

之前想过一种思路就是调用instance的方法将数据库的对象给他传进去,但是这样的话相当于操作数据库的代码在程序中出现了两遍,感觉不妥...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风流物 2022-09-12 07:57:46

如果你直接暴露instance,自然操作得两边各自持有一份。让两边都直接操作它不太合理。应当只有一边有直接操作权,另一边只允许访问一些有限的高级的接口。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文