Seite 1 von 1

qthreadstorage Daten sind im Thread (run) nicht mehr vorhand

Verfasst: 30. Juli 2005 17:05
von rulzmaker

Code: Alles auswählen

class MyThread : public QThread 
{
      public:
	  MyThread();	
	  virtual void run();
      private:
	  QThreadStorage <Threaddaten *> data;
};

MyThread::MyThread()
:QThread()
{
     data.setLocalData(new Threaddaten("lol"));	   
}

void MyThread::run()
{
     if(data.hasLocalData()) qDebug("Daten vorhanden");
     else         qDebug("Daten nicht vorhanden");
}
Daten nicht vorhanden
Warum, wieso?

Verfasst: 1. August 2005 09:05
von Goos
Gar nicht. Wieso sollen sie nicht vorhanden sein?

Goos

Verfasst: 3. August 2005 03:29
von rulzmaker
Weil qDebug es ausgibt? (siehe if Bedingung)

Verfasst: 3. August 2005 15:42
von Goos
Ok, sie sind nicht vorhanden, weil du deine Threaddaten nicht in deinem Thread setzt, sondern davor.

Goos

Verfasst: 3. August 2005 18:49
von rulzmaker
Wenn ich sie im Thread setze kommen Speicherschutzverletzungen.

Verfasst: 4. August 2005 08:57
von Goos
Dann machst offensichtlich was falsch :D

Goos