Hier ist der Header des "Threads":
Code: Alles auswählen
#ifndef __THREADS_H__
#define __THREADS_H__
class WriteProcess : public QThread
{
private:
unsigned int unAddress;
string sString;
Prozeda_DataStick *objDS;
public:
void run(void);
void setParam(unsigned int unAddress, string sString, Prozeda_DataStick *objDS);
};
#endif
Code: Alles auswählen
#include "main.h"
void WriteProcess::run()
{
this->objDS->WriteFileToDataStick(this->unAddress, this->sString);
}
void WriteProcess::setParam(unsigned int Addr, string sStr, Prozeda_DataStick *objDS)
{
this->unAddress = Addr;
this->sString = sStr;
this->objDS = objDS;
}
WriteProcess mProc;
und so wrid se aufgerufen
mProc.setParam(unAddress, sFile.toStdString(), this->objDS);
mProc.run();
dies scheint aber zu "blockieren".
Das Hauptformular blockiert und die Timer werden nicht mehr ausgeführt.
Ich rufe den thread in der klasse "class TestSPI : public QMainWindow", in der Methode void TestSPI::FileToDS(void) auf.
Vielen Dank schonmal für die Hilfe.
MFG
Christopher Schirner