|
@@ -56,9 +56,17 @@ ReportWoker::~ReportWoker()
|
|
{
|
|
{
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+void ReportWoker::init()
|
|
|
|
+{
|
|
|
|
+ CoInitializeEx(NULL,COINIT_MULTITHREADED);//解决非主线程无法调用word问题
|
|
|
|
+ qDebug()<< "ReportWorker init";
|
|
|
|
+}
|
|
|
|
+
|
|
void ReportWoker::makeReport(Tanker& tanker, QString& word_path, QString& pic_dir)
|
|
void ReportWoker::makeReport(Tanker& tanker, QString& word_path, QString& pic_dir)
|
|
{
|
|
{
|
|
|
|
+ //CoInitializeEx(NULL,COINIT_MULTITHREADED);//解决非主线程无法调用word问题
|
|
make_report(tanker, word_path, pic_dir);
|
|
make_report(tanker, word_path, pic_dir);
|
|
|
|
+ //CoUninitialize();
|
|
}
|
|
}
|
|
|
|
|
|
bool ReportWoker::make_report(Tanker& tanker, QString word_path, QString pic_dir)
|
|
bool ReportWoker::make_report(Tanker& tanker, QString word_path, QString pic_dir)
|
|
@@ -528,8 +536,11 @@ Report::Report()
|
|
worker->moveToThread(&workerThread);
|
|
worker->moveToThread(&workerThread);
|
|
connect(&workerThread, &QThread::finished, worker, &QObject::deleteLater);
|
|
connect(&workerThread, &QThread::finished, worker, &QObject::deleteLater);
|
|
connect(this, &Report::operate, worker, &ReportWoker::makeReport);
|
|
connect(this, &Report::operate, worker, &ReportWoker::makeReport);
|
|
|
|
+ connect(this, &Report::oninit, worker, &ReportWoker::init);
|
|
connect(worker, &ReportWoker::onProgress, this, &Report::recvProgress);
|
|
connect(worker, &ReportWoker::onProgress, this, &Report::recvProgress);
|
|
workerThread.start();
|
|
workerThread.start();
|
|
|
|
+
|
|
|
|
+ emit oninit();
|
|
}
|
|
}
|
|
|
|
|
|
Report::~Report()
|
|
Report::~Report()
|