我在Visual Studio 2008中做了一些程序的setup packadge,所以在我的電腦上安裝後一切正常。在其他PC上,當你點擊數據庫連接選項時,它只會崩潰。Qt QList ASSERT在其他電腦上安裝後失敗
嗯,這裏的錯誤
我認爲它出現在該行
database = QSqlDatabase::addDatabase("QPSQL");
,因爲約DB apperas,一切信息的數據庫初始化部分似乎做工精細,直到這條線。
這裏是全功能
void DatabaseManagement::initDatabase(){
QMessageBox::information(this, "error tracking step 5", " DB ADDED");
database = QSqlDatabase::addDatabase("QPSQL");
QStringList sdrivers = QSqlDatabase::drivers();
//output all avalible drivers
QString driver = sdrivers[0];
for(int i = 0; i< sdrivers.size();i++)
QMessageBox::information(this, "Driver info", sdrivers[i]);
}
database
變量這裏是全球性的DatabaseManagement
類。 也在這個類中,我得到getDatabase
函數返回database
變量,我在其他類中使用它,比如說在mainClass
(如果這可能是問題的原因)。
這個問題的原因是什麼?我怎麼能解決這個問題? 順便說一句,我用Qt 4.7.4
UPD: 好了,問題解決了!我忘了添加sqldrivers文件夾!當然,我添加了所有必要的.dlls
,但由於某種原因,程序僅在此文件夾中查看它。希望對某人有幫助。 順便說一下DependencyWalker顯示沒有工作的版本沒有錯(沒有sqldrivers
文件夾)。
Dependency Walker沒有看到我認爲的運行時間的東西。 Process Explorer是此工具(在其他情況下,在任務管理器不會削減它的情況下也很有用)。 – hyde