Nachrichten Trotz schleife?
-
_beginthread()
-
Frag doch einfach in der Schleife deine MessageLoop ab. Hier etwas Delphi Code:
procedure ProcessMessages(hWnd: DWORD); var Msg: TMsg; begin while PeekMessage(Msg, hWnd, 0, 0, PM_REMOVE) do begin TranslateMessage(Msg); DispatchMessage(Msg); end; end;
-
Sry für die Frage aber hat da mal einer ein bsp?
-
zu was
-
Hat sich erledigt. hab das jetzt so:
threadHandle=CreateThread(NULL,200,&ChoseWS,NULL,0,&threadID);
Und so:
DWORD threadID; HANDLE threadHandle; DWORD WINAPI ChoseWS(LPVOID param1) { return 0; }
Geht alles ganz Super. Nur leider weis ich nich wie ich den Threat Sschließen kann. Mit ExitThreat gins irgent wie net.
-
Nimm _beginthread anstatt CreateThread.
-
das ging bei mir irgent wie net.
-
Nimm trotzdem _beginthread der _beginthreadex. Wenn es die Funktion nicht gibt, sag uns welchen Compiler du benutzt.
CreateThread sollte man nur dann direkt aufrufen, wenn man genau weiß, was man tut.Ein Thread sollte nicht durch einen Aufruf von ExitThread beendet werden. Lass den Thread einfach auslaufen; durch das return der Thread-Funktion wird er beendet.
-
Warum? Geht ja so super nur halt das abbrechen nicht.
-
Die Antwort davor war nur gekommen weil mein Browser rum gesponnen hat.
Naja leider is mein Thread ein "Endlos" Threat. Daher kann ich ihn nicht auslaufen lassen.
-
Dann nimmst du einfach eine Variable, die du im Thread abfragst - ist sie gesetzt (von außen um den Thread zu beenden) lässt du den Thread auslaufen
-
Klausy schrieb:
Warum? Geht ja so super nur halt das abbrechen nicht.
cd9000 schrieb:
CreateThread sollte man nur dann direkt aufrufen, wenn man genau weiß, was man tut.
Weißt du wirklich genau, welche Fehler du dir damit einhandeln kannst?
Durch den CreateThread-Aufruf wird die C-Lib für diesen Thread nicht initialisiert. Das bedeutet, dass manche Aufrufe der C-Lib plötzlich nicht mehr richtig arbeiten.
Klassisches Beispiel dazu ist strtok.
-
Ich würder gern _beginthread benutzen nur komme ich damit nich klar.
-
Was ist denn damit dein Problem?
-
Naja ich habs bis jetzt halt noch nich hin bekommen ein Threat zu starten.
-
Thread Class - Aufbau einer abstrakten Basisklasse
WinAPI-Beitrag aus dem Forum zu _beginthread
_beginthread, _beginthreadex
-
Das Porblems is jetzt. Ja das ich im Projekt Multithreating anschalten muss. Nur leider benutze ich kein VC++ um Winapi zu progen. Sonder andren Compiler der diese Option nich besitzt. Kann ich diese Option auch irgent wie Code geseuert anschalten?
-
Welchen Compiler nutzt du denn? Evtl. bist du dann aber im entsprechenden Forum (BCB bzw. Andere Compiler) besser augehoben bzw. stellst evtl. dort mal direkt die Frage, wie du Multithreading damit verwenden kannst
-
Das teil kennt keine Schwein hat ein Leher auf unser BS gemacht. Das MÜSSEN wir auch da benutzen. Darum gehts ja leider. Und eins weis ich mit einstellen is bei dem Teil nichts.
-
bin mir nicht sicher, aber evtl. kannst du damit auch überhaupt keine multithreading-anwendungen erstellen