Ich wollte gerade mit SDL_CreateThread einen Thread erzeugen, musste jedoch feststellen, dass der Pointer auf die Daten nicht mitkommt. Im Wiki http://wiki.delphigl.com/index.php/SDL_CreateThread ist dies beschrieben, aber intressanterweise wird im Beispiel bei der Funktion thread_func() kein Argument angegeben. Wenn ich einen Pointer angebe ist der immer nil, egal was ich bei SDL_CreateThread angebe. (Lustig auch, dass es in keinem Fall den Stack verheddert)
Ist da irgendwo ein Bug oder hab ich ein Brett vor dem Kopf?
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Benutzt du FreePascal? Dann kannst du dir SDL-Threads im prinzip sparen, denn die FreePascal Threads sind auch Plattformunabhängig.
Allerdings steht auch auf libsdl.org nichts, was zu deinen Erfahrungen passt... Es scheint ein Bug zu sein, wobei es mich dann verwundert, dass es noch niemandem aufgefallen ist.
Was das mit dem Stack betrifft: Sowas fällt eher auf, wenn du auf einen Parameter zugreifst, der nicht übergeben wurde. Wenn aber zu viele Parameter übergeben wurden, kann es höchstens nach ein paar tausend aufrufen zu nem Stack Overflow kommen, aber so direkt merkt man da eigentlich nix.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Hab die Lösung , ist ja ganz logisch:
Die Funktion wird von SDL aufgerufen, SDL ist so ein c-ding, und dort werden die Argumente anders herum übergeben!
Hab nun mal cdecl angegeben und es funktioniert wie erwartet.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Dann kommt die Userdata an?
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.