Seite 1 von 1

string als result aus einer dll..?? ist das möglich..??

Verfasst: 24.08.2005 21:27
von x_to
hi,

ich habe hier eine dll ausder ich eine funktion aufrufe, die als ergebnis ein string zurückliefert...

allerdings gibt mir purebasic die fehlmeldung, daß es eien zahl als ergebnis erwartet...vor dem compilieren..

ist es möglich auch eine zeichenkette als ergebnis aus einer funktion zu bekommen..??

Verfasst: 24.08.2005 21:30
von Tafkadasom2k5
Vielleicht sind es Zeichen im ASCII Format...heisst du musst sie irgendwie mit

Code: Alles auswählen

CHR()
auflösen...ganz sich bin ich mir nicht-aber wäre möglich....

Gr33tz
Tafkadasom2k5

Verfasst: 24.08.2005 21:32
von Deeem2031
Einfach mit Peeks(Procedure(...)) aufrufen.

Verfasst: 25.08.2005 20:50
von x_to
öhmm...das müßtet ihr mir mal näher erklären... :oops:

Verfasst: 25.08.2005 21:32
von Eric
Die Funktion liefert als Ergebnis höchstwarscheinlich die Adresse von dem String.
und mit PeekS(Procedure(...)) wird dieser String dann ausgelesen.

Verfasst: 25.08.2005 21:45
von ts-soft
Du meinst wahrscheinlich sowas:

Code: Alles auswählen

DLL = OpenLibrary(#PB_Any, "MyDLLWithString.dll")
If DLL
  DLLString.s = PeekS(CallFunction(DLL, "GiveMeAString"))
  CloseLibrary(DLL)
EndIf
Debug DLLString.s

Verfasst: 26.08.2005 14:29
von x_to
ts-soft hat geschrieben:Du meinst wahrscheinlich sowas:

Code: Alles auswählen

DLL = OpenLibrary(#PB_Any, "MyDLLWithString.dll")
If DLL
  DLLString.s = PeekS(CallFunction(DLL, "GiveMeAString"))
  CloseLibrary(DLL)
EndIf
Debug DLLString.s
die idee ist ja gut, allerdings stürzt pb ab und DLLString.s enthält NULL...

niemand ne andere lösung..??

Verfasst: 26.08.2005 14:34
von Kiffi
> die idee ist ja gut, allerdings stürzt pb ab und DLLString.s enthält NULL...
> niemand ne andere lösung..??

die Lösung, so wie sie ts-soft beschrieben hat, ist die normale
Vorgehensweise, um an einen String in der DLL zu gelangen. Wenn PB
abstürzt, dann hast Du einen Fehler gemacht.

Zeig mal den Code Deiner DLL.

Grüße ... Kiffi