
Originally Posted by
wysota
I don't mean the file names. I mean the database connections. Could you show us the code where you connect to the database in all places? Remember to obfuscate the password.
Here i am using Sqlite database as plain files. http://www.sqlite.org/download.html.
Its project constraint.
I am also using wrapper SQLiteWrapper.
Its working fine with single thread.
My data pusing class is having wrapers on it.so i cant post all the class code.
In pseudo code i am posting.
class Base
{
virtual InsertData();
}
class Derived :class Base
{
InsertData();
char szFileName[256];
SqliteWrapper database;
}
class Managaer
{
Base *pt;
InsertData(int format);
}
Managaer::InsertData(int format)
{
switch(format)
{
Base:
pt= new Derived();
pt->SetFileName();
pt->InsertionData();
}
}
class Base
{
virtual InsertData();
}
class Derived :class Base
{
InsertData();
char szFileName[256];
SqliteWrapper database;
}
class Managaer
{
Base *pt;
InsertData(int format);
}
Managaer::InsertData(int format)
{
switch(format)
{
Base:
pt= new Derived();
pt->SetFileName();
pt->InsertionData();
}
}
To copy to clipboard, switch view to plain text mode
The code in thread run method is
Q_OBJECT
private:
short nNumber;
char szName[512];
public:
MyThread();
void setNumber(short x);
void setName(const char*);
void run();
};
class MyThread : public QThread {
Q_OBJECT
private:
short nNumber;
char szName[512];
public:
MyThread();
void setNumber(short x);
void setName(const char*);
void run();
};
To copy to clipboard, switch view to plain text mode
Code in Thread.cpp
void MyThread::run()
{
std::bitset<TOTAL_BITS_COUNT> DecodeSettings;
long lTimeElapsed;
DecodeSettings.set();
timer.start();
Manager DBObject;
DBObject.SetDBFilePath(szName);
if(DBObject.CreateDatabase())
{
DBObject.InsertData();
}
}
void MyThread::run()
{
std::bitset<TOTAL_BITS_COUNT> DecodeSettings;
QTime timer;
long lTimeElapsed;
DecodeSettings.set();
timer.start();
Manager DBObject;
DBObject.SetDBFilePath(szName);
if(DBObject.CreateDatabase())
{
DBObject.InsertData();
}
}
To copy to clipboard, switch view to plain text mode
The code in GUI .
MyThread *ptr1 = new MyThread();
connect(ptr1, SIGNAL(finished()), ptr1, SLOT(deleteLater()));
ptr1->setName(strBinFileList[0].toStdString().c_str());
ptr1->start();
MyThread *ptr1 = new MyThread();
connect(ptr1, SIGNAL(finished()), ptr1, SLOT(deleteLater()));
ptr1->setName(strBinFileList[1].toStdString().c_str());
ptr1->start();
while(ptr1->isRunning() || ptr2->isRunning() );
MyThread *ptr1 = new MyThread();
connect(ptr1, SIGNAL(finished()), ptr1, SLOT(deleteLater()));
ptr1->setName(strBinFileList[0].toStdString().c_str());
ptr1->start();
MyThread *ptr1 = new MyThread();
connect(ptr1, SIGNAL(finished()), ptr1, SLOT(deleteLater()));
ptr1->setName(strBinFileList[1].toStdString().c_str());
ptr1->start();
while(ptr1->isRunning() || ptr2->isRunning() );
To copy to clipboard, switch view to plain text mode
Bookmarks