BASSMOD_2

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
Zuletzt geändert von ts-soft am 11.09.2005 23:52, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag 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.
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag 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.
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag 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:
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag 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!?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag 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)
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten