exe 调用 多个 dll

本文介绍了一个名为TradePlugin的插件设计与实现细节,该插件继承自WorkStation::core::plugin::Plugin接口,并实现了核心功能如Start方法、设置用户信息及提供插件窗口等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        class TradePlugin : public QObject, WorkStation::core::plugin::Plugin
        {
            Q_OBJECT  
                Q_INTERFACES(WorkStation::core::plugin::Plugin)
        public:
            TradePlugin();
            ~TradePlugin();
            virtual void Start();
            void SetUserInfo(PUSERINFO pUserInfo);
            PluginWidgetBase* GetWidget();
        private:

        };


            //WarePlugin派生自该接口
            //纯接口

//代表dll在内存中的实例 ,QLoader加载后的返回值

            class Plugin
            {
            public:
                virtual ~Plugin();
                virtual void Start() = 0;
                virtual void SetUserInfo(PUSERINFO pUserInfo) = 0;
                virtual PluginWidgetBase* GetWidget()=0;//创建插件中使用的数据库ware.db,然后返回插件的WareMainWidget
            };


            //将dll加载进内存
            QPluginLoader loader(m_strEntrance);
            m_pPlugin = qobject_cast<::Plugin *>(loader.instance());//对m_plugin进行赋值


        PluginWidgetBase* TradePlugin::GetWidget()
        {

            return new TradeMainWidget();
        }

        Q_EXPORT_PLUGIN2("TradePlugin", TradePlugin)  //关键 导出该dll的类型为TradePlugin,这样exe中就能够认识该dll,

loader.instance() 方法返回该dll,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值