DLL Handling

Anfängerfragen zum Programmieren mit PureBasic.
manibaerchen
Beiträge: 32
Registriert: 27.11.2005 12:32
Wohnort: Bad Endorf
Kontaktdaten:

DLL Handling

Beitrag 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)
Geht nicht, Gibts nicht
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: DLL Handling

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: DLL Handling

Beitrag 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
manibaerchen
Beiträge: 32
Registriert: 27.11.2005 12:32
Wohnort: Bad Endorf
Kontaktdaten:

Re: DLL Handling

Beitrag von manibaerchen »

Vielen DANK hat funktioniert, dann kanns ja weiter gehen

Mani

:allright:
Geht nicht, Gibts nicht
Antworten