Einen String aus einer DLL Funktion rauslesen
Übersicht

![]() |
LukasBananaBetreff: Einen String aus einer DLL Funktion rauslesen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute,
ich habe ein kleines Problem: ich weiß noch nicht mal wie das in B3D mit dem CreateBank usw. funktioniert und dann will ich auch noch einen String aus einer DLL Funktion rauslesen. Kennt sich da jemand von euch aus, würde mich echt über einen kleinen BeispielCode freuen. Gruß LukasBanana |
||
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana Meine Projekte auf github.com: https://github.com/LukasBanana Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. Im DLL und Userlibs Topic haben Fragen nichts zu suchen. d-bug |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie meinst du das, "String aus DLL-Funktion"? | ||
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich hab in PureBasic eine ProcedureDLL erstellt und die gibt einen String$ zurück. Wie kann ich diesen String jetzt aus der DLL Funktion rauslesen, ich kenne mich nicht aus mit den CreateBank(...) usw. Funtionen aus B3D. Kann mir nicht jemand helfen? | ||
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana Meine Projekte auf github.com: https://github.com/LukasBanana Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du kannst DLL-Funktionen auf zwei Arten aufrufen:
1. CallDLL Dann muss die Funktion, die du in PureBasic geschrieben hast, mindestens zwei Parameter haben: einen Pointer für Daten, die das Programm der DLL gibt und noch einen Pointer, der Daten von der DLL zum Programm übermittelt. Die Pointer sind in Blitz3D die Banks. 2. Userlibs Die, meiner Meinung nach, einfachere Variante. Ich weiß nicht, wie die Funktionen in PureBasic exportiert werden, aber in C++ z.B. so: "_MeineFunktion@4" Die Userlib ( in einer .decls-Datei gespeichert ) dazu sähe dann so aus: .lib "MeineDLL.dll" MeineFunktion$( parameter% ):"_MeineFunktion@4" Dann kopierst du die .decls-Datei in Blitz3D/userlibs und kannst die Funktion in Blitz3D verwenden. Lad dir am besten mal das Tool PEView ( http://www.magma.ca/~wjr ) runter. Damit kannst du deine DLL öffnen und unter "SECTION .rdata'/'EXPORT address table" alle exportierten Funktionen anschauen. |
||
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist ganz einfach ich mach selber dll in pbasic und nutz sie in bb
du merkst dir die funktion in pbasic! oberstes gebot dann musst du dein windows editor zur hand nehmen und dort volgendes eintragen. Code: [AUSKLAPPEN] .lib "deine.dll"
Funktionsname (wie,in,bb$) das speicherst du dann z.b. als deine.decls und packst die dll + die decls datei im userlib ordner, dann kannst du dein befehl auch nutzen! zur verständigung "deine.dll" soll natürlich der name deiner dll sein Funktionsname (wie,in,bb$) funktionsname ist natürlich der name deiner erstellten funktion in pbasic. und du kannst der dll natürlich auch parameter übergeben, hast du keine parameter so () machen ! aber eines ist gewiss die dll muss in pbasic so programmiert sein das du sie in bb nutzen kannst. das heist schreibst du in pbasic in der fuinktion print "Hallo" so bedeutet es nicht das er es in der bb console ausgibt. ich habe pbasic genutzt um ftp lib zu erstellen! du könntest natürlich sogar die ganze gui von pbasic nutzen da diese ja übersichtlicher ist und mehr funktionen als bb hat, allerdings kannst du die befehle meines wissen nicht mit der gui von bb vermischen, genausowenig wie die grafischen befehle von pbasic. also müsstest du wenn du sowas vor hast die komplette gui von pbasic interpretieren. einfacher gehts mit c++ aber da kann ich nicht helfen da ich c nicht kann und auch nicht können möchte ^^ ansonsten hoffe ich das es eine hilfe war |
||
![]() |
LukasBanana |
![]() Antworten mit Zitat ![]() |
---|---|---|
SAU GEIL! ![]() ![]() Gruß LukasBanana |
||
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana Meine Projekte auf github.com: https://github.com/LukasBanana Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group