CrateThread
-
Hi Leute,
Wie der Tiel es schon sagt, betrifft mein Problem nicht nur die WinAPI sondern auch den Borland Builder aber ich glaub das Thema passt hier besser rein.Nun aber zum Problem:
Wenn ich einen Thread mit CreateThread erzeuge, und die ThreadFunc-Function Außerhalb der TForm-Klasse deklariere, dann läuft alles wunderbar.
Wenn ich aber die Funktion in der TForm-Klasse deklariere, erhalt ich immer ne Fehlermeldung:*E2034 Konvertierung von 'unsigned long (__stdcall * (_closure )(void *))(void *)' nach 'unsigned long (__stdcall *)(void )' nicht möglich
und
*E2342 Keine Übereinstimmung des Typs beim Parameter 'lpStartAddress' ('unsigned long (__stdcall *)(void )' erwartet, 'void' erhalten)Könnte mir da jemand weiterhelfen?
-
Ist die Methode als static deklariert?
-
Oh man, das kann doch ech nicht wahr sein.
Das steht aber in dem Windows SDK nicht mit bei das man die als static deklarieren muss.Vielen dank auch CMatt.
-
Nimm nicht CreateThread, in C/C++ Programmen ist diese Funktion ziemlich fehl am Platz. Dein Compiler stellt bestimmt eine eigene beginthread-Funktion bereit. Beim VC++ heißt diese z.B. _beginthreadex.
-
Hi cd9000,
hab nachgesehen, es gibt tatsächlich ne Funktion BeginThread. Sie soll sicherer sein. Danke für den Tipp