Seite 2 von 2

Verfasst: 11.09.2005 23:14
von ts-soft
xperience2003 hat geschrieben:
Dachte eigentlich, das die statische Lib die DLL beinhaltet,
jo, genau sowas suche ich auch, die möglichkeit eine dll richtig als userlib oder objekt einzubinden

(also ohne includebinary und dann vor programmstart schreiben..oder solchen tricks :D )
Dafür kannste doch PBOSL_LoadDllMemory nehmen, wobei die BASSMOD.dll damit leider nicht funzt.
PBOSL.chm hat geschrieben: LoadLibraryM()
Load a DLL from Memory

GetProcAddressM()
Get a Function Pointer from a Memory-loaded DLL

FreeLibraryM()
Frees a DLL which was loaded in Memory
Ist zwar mit IncludeBinary, aber ohne schreiben vorher :wink:

Verfasst: 11.09.2005 23:47
von redacid
ts-soft hat geschrieben:@redacid
Kann ja nur eine Kleinigkeit sein. Wenn ich die Ursache kenne, werde ich es entsprechend anpassen, bloß ohne Testmöglichkeit kann ich im Moment nichts machen. Vielleicht fehlen bestimmte Dateiattributte, weil ich es unter Windows geöffnet habe, oder irgendwas ähnliches.
Danke erstmal für den Hinweis.
ich bin mir nicht sicher, ob es nicht sogar an PB liegt. Allerdings bin ich mit solchen Zusatzlibs auch nicht wirklich vertraut und weiß nicht, wo ich einen eventuellen Fehler suchen muss.

Verfasst: 12.09.2005 14:15
von Lebostein
@redacid: Und wenn die die BASSMOD-Library mal direkt auf einem MacOS herunterlädst? Vielleicht hat es ja wirklich was damit zu tun, dass wir bisher die Lib auf einer Windows/Linux-Maschine heruntergeladen haben und dadurch irgendwas 'kaputt' gegangen ist....

Es reicht ja, wenn du folgendes mal ausprobierst:

Code: Alles auswählen

Debug OpenLibrary(0, "libbassmod.dylib")
Wenn dort schon eine Null kommt dann ist es wirklich ein Problem von PB.

Verfasst: 12.09.2005 15:57
von redacid
Lebostein hat geschrieben:@redacid: Und wenn die die BASSMOD-Library mal direkt auf einem MacOS herunterlädst?
das könnte ich einmal versuchen. Werde ich heute Abend testen.
Vielleicht hat es ja wirklich was damit zu tun, dass wir bisher die Lib auf einer Windows/Linux-Maschine heruntergeladen haben und dadurch irgendwas 'kaputt' gegangen ist....
*dürfte* nicht passieren, aber möglich ist alles...
Es reicht ja, wenn du folgendes mal ausprobierst:

Code: Alles auswählen

Debug OpenLibrary(0, "libbassmod.dylib")
Wenn dort schon eine Null kommt dann ist es wirklich ein Problem von PB.
das werde ich heute Abend auch einmal testen. :allright:

Verfasst: 13.09.2005 01:29
von redacid
Lebostein hat geschrieben:Es reicht ja, wenn du folgendes mal ausprobierst:

Code: Alles auswählen

Debug OpenLibrary(0, "libbassmod.dylib")
Wenn dort schon eine Null kommt dann ist es wirklich ein Problem von PB.
das funktioniert. Weiter allerdings nicht. Muss wohl doch an den CallFunctionFast- und CallCFunctionFast-Befehlen liegen!?

Verfasst: 13.09.2005 01:45
von ts-soft
@redacid
Vielleicht könntest Du ja mal folgendes Testen:

Code: Alles auswählen

Debug OpenLibrary(0, "libbassmod.dylib")
Debug CallFunction(0, "BASSMOD_GetVolume")
Debug CallCFunction(0, "BASSMOD_GetVolume")
CloseLibrary(0)
Wenn eine 0 oder Fehler kommt bitte einfach abwechselnd die 2 oder 3 Zeile auskommentieren. Beide auskommentieren bringt aber nichts :wink:

Verfasst: 13.09.2005 07:48
von Lebostein
Vieleicht ist es ja auch der IsFunction()-Befehl. Kannste ja gleich mal mit ausprobieren:

Code: Alles auswählen

Debug OpenLibrary(0, "libbassmod.dylib")
Debug IsFunction(0, "BASSMOD_GetVolume")
Debug CallFunction(0, "BASSMOD_GetVolume")
Debug CallCFunction(0, "BASSMOD_GetVolume")
CloseLibrary(0)

Verfasst: 13.09.2005 08:55
von redacid
Ok, das sieht schon anders aus, aber auch nicht viel besser:

- IsFunction funktioniert (Rückgabewert 906620)
- CallFunction gibt zumindest keine Fehlermeldung, der Rückgabewert ist allerdings 0.
- Bei CallCFunction steigt der Compiler mit Linker-Error aus.

Verfasst: 13.09.2005 16:17
von ts-soft
>> - Bei CallCFunction steigt der Compiler mit Linker-Error aus.
Wahrscheinlich doch ein PB Bug. Weil das müßte richtig sein.

//Edit:
schein doch ein PB-Fehler zu sein, siehe hier: http://forums.purebasic.com/english/vie ... hp?t=16690