qthreadstorage Daten sind im Thread (run) nicht mehr vorhand

Alles rund um die Programmierung mit Qt
Antworten
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

qthreadstorage Daten sind im Thread (run) nicht mehr vorhand

Beitrag 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?
Debian 2.4.27-1-386
[...]peace, love and empathy
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Gar nicht. Wieso sollen sie nicht vorhanden sein?

Goos
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

Beitrag von rulzmaker »

Weil qDebug es ausgibt? (siehe if Bedingung)
Debian 2.4.27-1-386
[...]peace, love and empathy
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Ok, sie sind nicht vorhanden, weil du deine Threaddaten nicht in deinem Thread setzt, sondern davor.

Goos
rulzmaker
Beiträge: 70
Registriert: 19. Juli 2005 23:00
Kontaktdaten:

Beitrag von rulzmaker »

Wenn ich sie im Thread setze kommen Speicherschutzverletzungen.
Debian 2.4.27-1-386
[...]peace, love and empathy
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Dann machst offensichtlich was falsch :D

Goos
Antworten