Seite 1 von 2
fmod.dll in exe einbinden
Verfasst: 03.02.2013 13:15
von slave
hallo leute
ich bekomme die fmod.dll nicht eingebunden auch das suchen bei google brachte mich nicht weiter,es soll wohl gehen aber nirgends steht wie genau...
hier mien code....
Code: Alles auswählen
DataSection
IncludeBinary "fmod.dll"
EndDataSection
FSOUND_Init(44100, 32, 0)
hstream = FSOUND_Stream_Open("http://88.190.24.47:80",0,0,0)
If hstream <> 0
FSOUND_Stream_Play(1,hstream) ;play the stream on channel 1
FSOUND_SetVolume(1,50)
EndIf
OpenWindow(0, 0, 0, 200, 200, "Ein Fenster", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
Repeat : Until WindowEvent() = #PB_Event_CloseWindow
wenn ich es kompiliere und die exe starte sagt er immer
cant load dynamic link library!
ich bräuchte einen link wo das einbinden von libs gezeigt wird.
vielen dank
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 13:19
von Chimorin
Hallo,
Unter F1 findest du die Hilfe.
Dort findet man das:
Code: Alles auswählen
; Hier das Client Programm, welches die DLL benutzt
;
If OpenLibrary(0, "PureBasic.dll")
CallFunction(0, "MyFunction")
CloseLibrary(0)
EndIf
Macht es nicht den Sinn von DLL´s kaputt, wenn man sie in die Exe lädt?
Hilft dir das weiter?
Gruß,
Banane
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 14:26
von slave
Bananenfreak hat geschrieben:Hallo,
Unter F1 findest du die Hilfe.
Dort findet man das:
Code: Alles auswählen
; Hier das Client Programm, welches die DLL benutzt
;
If OpenLibrary(0, "PureBasic.dll")
CallFunction(0, "MyFunction")
CloseLibrary(0)
EndIf
Macht es nicht den Sinn von DLL´s kaputt, wenn man sie in die Exe lädt?
Hilft dir das weiter?
Gruß,
Banane
hi darüber hatte ich noch nicht nachgedacht.
mir ging es nur darum das ich die dll nicht mitliefern muß,so hat man ja nur die exe was ich persönlich besser finde
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 14:35
von ts-soft
slave hat geschrieben:mir ging es nur darum das ich die dll nicht mitliefern muß,so hat man ja nur die exe was ich persönlich besser finde
Aber der Hersteller dieser DLL findest das nicht besser, ist ja keine Freeware-DLL sondern die kostet richtig Geld.
Wenn Du die DLL entsprechend der Lizenz, kostenlos nutzen möchtest, solltest Du diese auch mitliefern, sowie einen
Hinweis darauf Deinem Programm beifügen.
Gruß
Thomas
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 14:40
von slave
hmmmmmmmm...
ich habe das bestimmt falsch gemacht aber wenn ich das so einfüge und anschließend kompiliere
fragt er immer noch der dll??
achja die dll liegt im gleichen verzeichniss...
wäre nett wenn du mir das näher erklären könntest.
Code: Alles auswählen
If OpenLibrary(0, "fmod.dll")
;CallFunction(0, "MyFunction")
;CloseLibrary(0)
EndIf
FSOUND_Init(44100, 32, 0)
hstream = FSOUND_Stream_Open("http://88.190.24.47:80",0,0,0)
If hstream <> 0
FSOUND_Stream_Play(1,hstream) ;play the stream on channel 1
FSOUND_SetVolume(1,50)
EndIf
OpenWindow(0, 0, 0, 200, 200, "Ein Fenster", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
Repeat : Until WindowEvent() = #PB_Event_CloseWindow
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 14:41
von slave
ts-soft hat geschrieben:slave hat geschrieben:mir ging es nur darum das ich die dll nicht mitliefern muß,so hat man ja nur die exe was ich persönlich besser finde
Aber der Hersteller dieser DLL findest das nicht besser, ist ja keine Freeware-DLL sondern die kostet richtig Geld.
Wenn Du die DLL entsprechend der Lizenz, kostenlos nutzen möchtest, solltest Du diese auch mitliefern, sowie einen
Hinweis darauf Deinem Programm beifügen.
Gruß
Thomas
da hast du vollkommen recht das wird auch gemacht wollte eben kein installer :O(
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 14:53
von ts-soft
Die aktuelle Version der DLL heißt eigentlich seit Jahren "fmodex.dll".
Du verwendest entweder eine sehr alte Version oder nutzt den falschen Namen.
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 15:38
von PMV
Sorry wenn das folgende Falsch ist, oder sich inzwischen geändert hat.
Ich mein mich zu erinnern, das die Fmod-Lizenz so was eh verbietet.
Woibei mir grad auffällt, das ts-soft genau das auch schon hier
erwähnt hat. Ich hoffe du hast dir die Lizenz gut durch gelesen,
sonst kann das ziemlich ärger geben.
MFG PMV
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 15:43
von ts-soft
Ein bekannter von mir hatte vor 1 oder 2 Monaten den Support per Mail kontaktiert. Es ist zwar nicht explicit in der
Lizenz erwähnt, aber es wird auf jedem Fall nicht gerne gesehen, was eigentlich ja auch logisch ist.
Die freie Nutzung in Freeware dient ja auch der Werbung für die DLL, die kommerzielle Nutzung kostet ja
fast 1000 €, wenn ich mich recht erinnere.
Re: fmod.dll in exe einbinden
Verfasst: 03.02.2013 17:14
von Danilo
slave hat geschrieben:Code: Alles auswählen
DataSection
IncludeBinary "fmod.dll"
EndDataSection
FSOUND_Init(44100, 32, 0)
hstream = FSOUND_Stream_Open("http://88.190.24.47:80",0,0,0)
If hstream <> 0
FSOUND_Stream_Play(1,hstream) ;play the stream on channel 1
FSOUND_SetVolume(1,50)
EndIf
OpenWindow(0, 0, 0, 200, 200, "Ein Fenster", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
Repeat : Until WindowEvent() = #PB_Event_CloseWindow
wenn ich es kompiliere und die exe starte sagt er immer
cant load dynamic link library!
Du hast in Deinem Code keine Include für FMOD, also verwendest Du wohl
eine PB-Library. Entweder diese Library benutzt intern OpenLibrary() und
kann die .dll dann nicht finden, oder die Library benutzt Imports... und dann
kann der Windows Loader die DLL nicht finden.
Wenn Du es so machen möchtest wie oben, musst Du eine FMOD-Include
nutzen, die die DLL dynamisch zu Laufzeit lädt (mit OpenLibrary()).
Dann musst Du natürlich als erste die DLL aus Deiner Datasection entpacken.
Oder Du nimmst Deine fertige .EXE und die fmod(ex).dll und packst diese
mit einem externen Packer zusammen, der es dann zur Laufzeit ins TEMP
entpackt und ausführt.
Es gab auch irgendwo eine Lib um DLLs aus dem Speicher zu laden.