Thread
-
Es geht darum:
http://www.c-plusplus.net/forum/viewtopic.php?t=39041&highlight=thread
Ich habe die Anleitung genau Umgesetzt, bekomme aber 2 Fehler.
DeinThread.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: virtual int __thiscall CDeinThread::Run(void)" (?Run@CDeinThread@@UAEHXZ)
Debug/Beckhoff.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.Beckhoff.exe - 2 Fehler, 0 Warnung(en)
Zudem würde ich gern wissen welche Funktion der Thread startet. Run() ?
Will zunächst nur das ausführen!
Sleep(2000);
AfxMessageBox("CAbfrage::Watch() nicht beendet");
-
Hi
DeinThread.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: virtual int __thiscall CDeinThread::Run(void)" (?Run@CDeinThread@@UAEHXZ)
Debug/Beckhoff.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.Beckhoff.exe - 2 Fehler, 0 Warnung(en)
Du musst die Funktion CDeinThread::Run natürlich auch definieren:
in der cpp datei:int CDeinThread::Run() { // tu etwas return 1; }Um den Thread jetzt aufzurufen musst du erst einmal eine Instance deiner Klasse erstellen (bzw. das mach AfxBeginThread):
Mach ne neue Membervariable in z.B. der Dialogklasse:CDeinThread* m_xDisplayThread;Den Thread startest du dann so:
m_xDisplayThread = (CDeinThread*) AfxBeginThread(RUNTIME_CLASS(CDeinThread), NULL, 0, CREATE_SUSPENDED); m_xDisplayThread->SetOwner(this); m_xDisplayThread->ResumeThread();Der Code in run wird dann in dem Thread ausgeführt.
Grüße Rapha
-
Wenn ich dir jetzt sage wo mein Fehler war, lachst du mich aus.
Meine Run():
int Run()
{
while (TRUE){
Sleep(1000);
AfxMessageBox("Hallo!!!");
};return 1;
}Das geht natürlich nicht.
Ich glaub ich sollte mal Pause machen