Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Threads mit Vc++

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.05.2003, 23:03 Uhr
~SwordMaster
Gast


Habe vor kurzen ein Jave Prog geschrieben dass mit Threads arbeitet...

dieses Programm wollte ich jett in MFC ebenfalls schreiben....
Doch leier weiß ich überhaupt nicht wie ich in VC++ mit Threads arbeite!

Könnt ihr mir ein beispiel sagen wie ich einen thread starte?
der beispielsweise nur eine MessageBox oder so ausgiebt?!

Einfach dass ich mal weiß wies geht, dann kann ich mich eh durcharbeiten ))

Wär echt dankbar für eure Hilfe!!

Ciao SwordMaster
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.05.2003, 23:39 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hilft dir das weiter?

www.fun-soft.de/index.php?file=/forum/showtopic.php?threadid=2475&time=1053466629
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.05.2003, 17:26 Uhr
~SwordMaster
Gast


Ja für mein Problem hat das super funktioniet (einfach die ereignisse die ind er warteschlange stehen, aufrufen zu können)

Das war genau das was ich BRAUCHTE!!
Danke!!

aber jetzt wollt ich trotzdem mal einen Thread starten und hätte es so probiert:

Da ich ein kleines bischen auch Java programmiere, hätte ich es einfach wie in Java gemacht.

In Java Leute ich auch einfach von der Thread klasse ab und überschreibe die "run" -Methode...

Also hätte ich es auch in MFC so probiert.
Ich habe von der CWinThread klasse abgeleitet, hab die run methode überschrieben. und wollte den thread über einen buttonklick starten
und so hätte ich meinenn Thread gestartet
CMyThread test;
test.Run();

Doch da ging es schon los, ich konnte das objekt gar nicht deklarieren, da der Konstruktor komischerweise als Protected deklariert war.... also hab ich einfach im Code das protected durch public geändert.

Dann lies sich zwar das Prog kompilieren, und die runMethode wird auch ausgeführt, aber nicht als eigentständiger thread.
Ich kann solange die RunMethode läuft ncihts anderes machen!!
Im Taskmanager steht auch nicht dass ein Thread hinzugekommen ist!

Was mache ich falsch????
BITTE HELFT MIR!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.05.2003, 19:52 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,


C++:
CWinThread *thread = NULL; // global

// ...

UINT ThreadProc(LPVOID pParam) // Threadfunktion
{
   // mache was
    return 0;
}

// ...

// Thread starten
thread = AfxBeginThread(ThreadProc,this); // hier wird this als pParam übergeben


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.05.2003, 22:48 Uhr
~SwordMaster
Gast


Hat rigendwie nicht so funktioniert wie du gesagt hast (hab wohl auch nciht besonders viel glück)

hab jetzt meinen thread folgendermaßen gestartet
_beginthread( MyThread, 0, NULL );

jedoch soll ein anderer button den Thread wieder beenden... (dafür brauch ich normalerweise:
"_endthreadex(unsigned retval)"
wobei retval der ExitCode des Thread ist.

=> wie krieg ich den scheiß ExitCode des Threads?? *gggg*
Ich hätte es folgendermaßen schon probiert

//in der Methode wo der thread gestartet wird;
HANDLE hThread;
DWORD ThreadID;
hThread=(HANDLE)_beginthread( MyThread, 0, NULL );
GetExitCodeThread(hThread,&ThreadID);


//in der Methode wo der thread beendet werden soll
_endthreadex(ThreadID);



Ich weiß nicht wieso,aber jedesmal wenn ich den Endbutton drücke, stürtzt mir das komplette prog ab, statt einfach den thread zu beenden...
wißt ihr was ich falsch mache??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.05.2003, 14:38 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du beendest den haupthread!

benutze


C++:
TerminateThread(hThread/*Threadhandle*/,0/*ExitCode*/);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: