Threads ohne VCL



  • Hi,
    ich hätte gerne eine Funktion, die einen Thread startet und mir dabei ein gültiges Thread-Handle zurückgibt. _beginthread(NT) gibt nur ein Pseudo-Handle zurück, welches sofort nach dem Aufruf wieder gelöscht wird. Im VC++ geht das mit _beginthreadex(), aber im BCB3 ist _beginthreadex nur durch ein Makro auf _beginthreadNT definiert.



  • Die "moderne" Deklaration ist nicht geheim, die kannst du dir auch in der process.h des Freewarecompilers anschauen:

    unsigned long _RTLENTRY _EXPFUNC _beginthreadex(void *__security_attr,
                                                    unsigned __stksize,
                                                    unsigned (__stdcall *__start)(void *),
                                                    void *__arg,
                                                    unsigned __create_flags,
                                                    unsigned *__thread_id);
    

    Zur Implementierung sei soviel gesagt, dass dort prinzipiell auch nur __beginthreadNT aufgerufen wird, mit einer '1' als letztem Parameter, was laut Kommentar den ex-Modus impliziert.


Log in to reply