Einen String aus einer DLL Funktion rauslesen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

LukasBanana

Betreff: Einen String aus einer DLL Funktion rauslesen

BeitragDo, Apr 12, 2007 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Apr 12, 2007 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
~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

BeitragDo, Apr 12, 2007 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie meinst du das, "String aus DLL-Funktion"?

LukasBanana

BeitragDo, Apr 12, 2007 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Apr 12, 2007 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Apr 12, 2007 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Apr 13, 2007 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
SAU GEIL! Very Happy Vielen Dank! Das hat mir wirklich geholfen, ich hätte nicht gedacht dass es so einfach und toll funktioniert Mr. Green

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

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group