BMax dll laden
Übersicht BlitzMax, BlitzMax NG Allgemein
TrustBetreff: BMax dll laden |
So, Jan 07, 2018 13:53 Antworten mit Zitat |
|
---|---|---|
Hallöchen,
habe zu Testzwecken mal mit BMax eine dll (dlltest.dll) erzeugt welche nur eine Funktion "AddIntegers" beinhaltet und möchte diese nun laden. Nun funktioniert das aber nicht mit dem Befehl "Extern": BlitzMax: [AUSKLAPPEN] Extern ' "Win32" Dies gibt mir die folgende Fehlermeldung: Code: [AUSKLAPPEN] undefined reference to `AddIntegers'
Die Dokumentation von Extern ist leider ubrauchbar: BlitzMax: [AUSKLAPPEN] Rem Versuche ich die dll über folgende Befehle zu laden, funktionierts: BlitzMax: [AUSKLAPPEN] Local DllHandle:Int = LoadLibraryA("dlltest.dll") Dies scheint mir aber zu umständlich, weiß da jemand warum das mit extern nicht funktioniert? G Trust |
||
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen. |
Lador |
Mo, Jan 22, 2018 23:04 Antworten mit Zitat |
|
---|---|---|
Hallo Trust,
ist zwar schon ein paar Tage alt, aber bevor dir hier keiner mehr antwortet, geb ich mal meinen Senf dazu. Kann es sein, dass du bei Extern als "Argument" den Namen deiner DLL übergeben musst? In deinem Fall also "dlltest" (ich glaube, die Dateiendung wird nicht gebraucht). Und die DLL muss ich natürlich im gleichen Ordner befinden wie deine Exe oder in einem Ordner, der im Windows-Path gelistet ist. Ich möchte an dieser Stelle aber anmerken, dass ich selbst kaum was mit DLLs in BlitzMax gemacht habe und das jetzt eher Intuition meinerseits ist... (hab neulich eine DLL in Java eingebunden) MFG Lador |
||
Mein aktuelles Projekt:
2D-Rollenspiel "Iliran" Screenshot | Worklog Fortschritt: ca. 70% |
Trust |
Do, Jan 25, 2018 14:21 Antworten mit Zitat |
|
---|---|---|
Hallo Lador,
das funktioniert leider nicht, hatte ich auch schon probiert . G, Trust |
||
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen. |
Thunder |
Mi, Jan 31, 2018 13:40 Antworten mit Zitat |
|
---|---|---|
Was du dir wünscht sollte theoretisch möglich sein, wird aber soweit ich weiß nicht von BlitzMax supportet.
Man müsste in den bmk einbauen, dass er deine exe files direkt mit den zugehörigen DLLs linkt, wobei es schwer wäre zu unterscheiden, wann mit welchen DLLs gelinkt werden soll, also müsste sich das der bmk aus den Source files suchen. By default linkt er wahrscheinlich system libraries wie user32.dll etc. sodass du Funktionen von dort mit Extern einbinden kannst. Prinzipiell, wenn du die extra DLL nicht brauchst, bau einfach ein Modul. Das ist der BlitzMax-Weg dafür. Und du verlierst dadurch nicht sofort die Plattformunabhängigkeit. Wenn du sie brauchst, dann LoadLibrary. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Übersicht BlitzMax, BlitzMax NG Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group