Seite 1 von 1

DLL Handling

Verfasst: 13.03.2010 19:28
von manibaerchen
Hallo Zusammen,

was mache ich hier nur falsch, beim Kompilieren des Programmes
erfolgt sofort die Fehlermeldung:
Zeile 2: Falscher Parameter Typ, Zahl anstelle eines Strings erwartet

DLL läßt sich einwandfrei kompilieren.

Vielen Dank für eure Hilfe

Mani

DLL

Code: Alles auswählen

ProcedureDLL test(string.s)
  MessageRequester("hallo",string)  
EndProcedure
Program

Code: Alles auswählen

OpenLibrary(1, "testdll.dll")
CallFunction(1, "test","Hugo")
CloseLibrary(1)

Re: DLL Handling

Verfasst: 13.03.2010 19:48
von Kaeru Gaman
benutze Prototypes.
CallFunction Help hat geschrieben:Hinweis: diese Funktion ist nicht sehr flexibel und kann nicht mit String/Fließkomma/Double/Quad-Variablen als Parameter ... umgehen.
Die Prototypen sind jetzt stattdessen bevorzugt zu empfehlen.
http://www.purebasic.com/german/documen ... ction.html

es werden einzig und allein Integer akzeptiert. du müßtest einen Pointer auf den String übergeben.

Re: DLL Handling

Verfasst: 13.03.2010 19:52
von ts-soft
CallFunction ist eine veraltetet Funktion, mach es so:

Code: Alles auswählen

Prototype test(string.s)

Define test.test

If OpenLibrary(1, "testdll.dll")
  test = GetFunction(1, "test")
  If test
    test("Hugo")
  EndIf
  CloseLibrary(1)
EndIf
Gruß
Thomas

Re: DLL Handling

Verfasst: 13.03.2010 19:55
von manibaerchen
Vielen DANK hat funktioniert, dann kanns ja weiter gehen

Mani

:allright: