Thread mit DLL Funktion

Für allgemeine Fragen zur Programmierung mit PureBasic.
BitchBird
Beiträge: 17
Registriert: 09.11.2004 10:29

Thread mit DLL Funktion

Beitrag von BitchBird »

hi,

ich habe eine DLL erstellt, die folgendes enthält:

Code: Alles auswählen

ProcedureDLL receiving(ConnectionID)
  blabla
Endprocedure
mit openlibrary() und callfunction() hab ich die DLL nun eingebunden.

Code: Alles auswählen

Callfunction(0,"receiving")
aber wenn ich nun einen thread aufmache

Code: Alles auswählen

CreateThread(@receiving(),ConnectionID)
kommt "receiving" is not a function.

Ich bin da neu, und hätte da gerne mal einen Tipp.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Hab gerade keine Online-Hilfe zur Hand, aber CallFunction ruft die Funktion auf, die Funktion selber kannst du nicht registrieren oder so. Es gibt einen Befehl, welchen ich gerade nicht kenne, welcher dir die Adresse der DLL-Funktion zurückgibt. Diese müsstest du dann bei deinem Thread-Aufruf angeben. Musst du mal in der Hilfe schauen.

Bin mir aber nichtmal so sicher ob Threads und Funktionen aus DLLs überhaupt miteinander können.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
BitchBird
Beiträge: 17
Registriert: 09.11.2004 10:29

Beitrag von BitchBird »

freedimension hat geschrieben:Bin mir aber nichtmal so sicher ob Threads und Funktionen aus DLLs überhaupt miteinander können.
ja, das ist auch für mich im moment die entscheidende frage... :)
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

IsFunction() gibt dir die Speicheradresse für CreateThread() zurück :)
BitchBird
Beiträge: 17
Registriert: 09.11.2004 10:29

Beitrag von BitchBird »

danke, aber ich scheitere komplett, kannst da mal irgendwie ein beispiel mit meinem code basteln.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

CreateThread(IsFunction(0,"receiving"), ConnectionID)
sollte gehen. Du weisst doch wie ein Thread funktioniert?
Antworten