• 4754阅读
  • 0回复

加载插件总是失败 [复制链接]

上一主题 下一主题
离线cupid8505
 

只看楼主 倒序阅读 楼主  发表于: 2012-12-04
我使用QT4.7版本,在加载插件的时候,总是加载失败。提示信息是:加载插件错误。高手指点哈!
代码如下:
void Dialog::on_pushButton_Plugin_clicked()
{  
       if( PluginLoader == NULL)    {
        QString PluginName = QFileDialog::getOpenFileName(this, tr("Open Files..."), "", tr("DLL Files (*.dll);; DLL Files (*.dll)"));      
        if( PluginName.length() == 0)          
                    return;
        PluginLoader = new QPluginLoader(PluginName);
        if(PluginLoader == NULL)        
       {              
                QMessageBox::critical(this, "错误", QString("加载插件失败222"));              
                return;      
       }
        //该函数会自动加载插件        //注意加载插件比较耗时      
         QObject *plugin = PluginLoader->instance();
        if(plugin)      
        {      
                //必须使用qobject_cast做类型转换          
                MyPlugin* MyInterface = qobject_cast<MyPlugin*>(plugin);
                if(MyInterface)          
               {
                    PluginInterface = MyInterface;
#if 1 //for test                    
                  QString src("I LOVE QT");                  
                  QString des;                  
                  PluginInterface->ConvertSend(des, src);  
                  PluginInterface->ConvertRecv(des, src);              
   #endif                  
                    ui->pushButton_Plugin->setText("卸载(&D)");          
                }          
               else          
               {              
                    QMessageBox::critical(this, "错误", QString("未找到插件"));              
                    return;
               }        
          }      
         else      
         {          
              QMessageBox::critical(this, "错误", QString("加载插件错误!"));      
          }    
      }  
     else    
     {        
            PluginLoader->unload();      
           delete PluginLoader;        
           PluginLoader = NULL;      
            ui->pushButton_Plugin->setText("插件(&P)");
     }
}
快速回复
限100 字节
 
上一个 下一个