BeginThread Problem



  • Hallo,

    ich habe ein Problem beim erzeugen eines Threads. Ich möchte mit BeginThread einen Thread vom Hauptthread abzweigen:

    BeginThread(NULL,0,Player,(void*)p,NULL, dwThreadId);
    

    Player ist die Thread-Funktion, p ist eine Variable die Übergeben werden soll.
    Hier die Thread-Funktion:

    void Player(void* value)
    {
    }
    

    Ich bekomme vom Compiler die Fehlermeldung: "Cannot convert void()(void) to int (__fastcall*)(void*)"
    Kann mir jemand sagen was ich bei dem Thread-Aufruf falsch gemacht habe?
    P.S.: Ich benutze den BCB

    Danke & Liebe Grüße,

    Seddto



  • seddto schrieb:

    Cannot convert void()(void) to int (__fastcall*)(void*)

    Hi,
    das bedeuted du hast eine void()(void) Funktion er erwartet aber eine int (__fastcall*)(void*) Funktion und kann deine void BlaBla(void*) nicht in eine inf __fastcall BlaBla(void*) konvertieren...

    Nun überleg mal was du machen musst....

    MfG

    Alexander Sulfrian



  • mhh genau das weiss ich ja eben nicht. Ich habe die Thread-Funktion nicht als Integer definiert, woher kommt also der int? Ich hab keine Ahnung wie ich das konvertieren soll 😕 Vielleicht kann mir jemand weiterhelefen?

    Danke & LG Seddto



  • Ich denke mal das Du falsch vorgegangen bist.

    Warum willst Du denn die Winapi Funktion benutzen ?

    Der BCB stellt dir doch Thread Objecte zur Verfügung.

    Schau mal in die Hilte zu TThread. In der FAQ steht sicher auch was und wenn Du nach Threads hier im Forum suchst bekommst Du sicher ne ganze menge ergebnisse.

    Und es gibt auch ne Tutorial Seite (Habe gerade die URL nicht) die findest du sicher wenn du das Forum durchsuchst.

    Foxy



  • Wenn du vorher den Thread geschrieben und eingebunden hast ist

    new TMyThread(false);
    

    alles was du brauchst um ihn zu starten.

    Schon hier geschaut: http://bcb-tutorial.c-plusplus.net/Thread/index.html ?

    Gruss

    robi1806



  • seddto schrieb:

    Ich habe die Thread-Funktion nicht als Integer definiert, woher kommt also der int?

    Hi,
    genau das ist der Fehler!
    Er erwartet eine int __fastcall Funktion....

    MfG

    Alexander Sulfrian

    PS: Einach die Funktion umdefinieren....


Anmelden zum Antworten