如下代码, 如果iUprade->performUpgrade()已经死掉了,如何才能强制unload plugin呢?我试过保存loader为全局变量,然后在一个slot里面loader->unload(),结果程序crash了.
QPluginLoader *loader;
...
...
loader = new QPluginLoader (dir.absoluteFilePath(fileName));
QObject *plugin = loader->instance();
if (plugin)
{
UpgradeInterface * iUpgrade = qobject_cast<UpgradeInterface *>(plugin);
if (iUpgrade)
{
iUpgrade->performUpgrade(); }
loader->unload();
}
}