watchdog
-
das mit den calling conventions bestimmt afaik, in welcher Reihenfolge die Parameter an die Funktion übergeben werden (von rechts nach links, oder umgekehrt)

Du musst immho einfach den Namen übergeben (so wie z.B. bei Fensterklassen - WndProc)
-
Hast du dem Borland Compiler auch mitgeteilt, das du multithreaded arbeiten willst. Ich kann mich erinnern das wir eine ähnliche Fehlermeldung hatten als wir einmal unter MSVC 6.0 als wir in einer als singlethreraded definierten Applikation einen thread aufmachen wollten.
-
Wie kann ich meinem Borland Compiler denn das mitteilen?
Bin leider ziemlicher Anfänger
Gruß TheChosn
-
flenders schrieb:
afaik ist UINT der Rückgabetyp und WINAPI (define aus windef.h) die Aufrufkonvention ( __cdecl )
WINAPI ist __stdcall.
flenders schrieb:
das mit den calling conventions bestimmt afaik, in welcher Reihenfolge die Parameter an die Funktion übergeben werden (von rechts nach links, oder umgekehrt)
Das ist richtig, aber nur die halbe Wahrheit. Zusätzlich wird festgelegt, wer den Stack aufräumt (die Funktion oder der Aufrufer).
-
Was ist jetz eigentlich der unterschied zwischen den beiden
außer Security, Init & Adressflag?
Liefern die nicht beide ein handle?_beginthread
_beginthreadexHab immer noch keinen Erfolg mit der Compilierung, hat es sinn sich im Cbuilder Forum umzuhören oder verwendet niemand mehr den ollen commadozeilen compiler?
-
<a href= schrieb:
http://msdn.microsoft.com/library/en-us/vccore98/html/_crt__beginthread.2c_._beginthreadex.asp">_beginthreadex resembles the Win32 CreateThread API more closely than does _beginthread. _beginthreadex differs from _beginthread in the following ways:
- _beginthreadex has three additional parameters: initflag, security, threadaddr. The new thread can be created in a suspended state, with a specified security (Windows NT only), and can be accessed using thrdaddr, which is the thread identifier.
- The routine at start_address passed to _beginthreadex must use the __stdcall calling convention and must return a thread exit code.
- _beginthreadex returns 0 on failure, rather than 1.
- A thread created with _beginthreadex is terminated by a call to _endthreadex.
-
Wie sieht dein Code jetzt eigentlich aus? Falls du Probleme mit deinem Compiler hast findest du sicher im BCB (oder andere Compiler?) Forum jemanden, der dir helfen kann

-
TheChosn schrieb:
Liefern die nicht beide ein handle?
Ja, liefern sie. Das HANDLE von _beginthread ist aber leider schon geschlossen. Damit kannst Du weiter nichts beschicken. Du kannst lediglich feststellen, ob der Aufruf geklappt hat oder nicht.
-
Tja also mit
DevC++ wenn das jemand kennt geht jetz die variante ohne ex,
hatte wohl paar argumente falsch übergeben.
Mit Borland gehts bis dato noch nicht.Bei der Variante mit ex häng ich wieder, was kann ich 0-setzen was nicht?
_beginthreadex( 0,0,Bounce, 0, &ch,0,&itsThreadId);
Gruß TheChosn
-
Also laut doku, hat das nur 6 Parameter
und da steht auch, was du jeweils einsetzen darfst
-
Juhuu es funktioniert endlich,
hat jemand ne Compilerempfehlung für mich?
Der Borland war sehr gut aber ich bin zu blöd um ihn zum Multithreading zu bewegen. Der Dev-C hat Fehlermeldungen mit denen ich nix anfangen kann,
mit der C Builder Trial schaff ich es ums verrecken nicht ein Konsolenproject
zu entwickeln sonst is er mein liebling was die fehlersuche angeht...
Tja ich hab Probleme
Danke für eure Hilfe
-
Beim Borland Compiler gibt's nen Parameter -tWM für Multithreading. Zumindest beim
5.5.
-
Hättest du das mal zwei Monate früher geschrieben, dann wäre es immer noch ein Jahr zu spät
