fmod.dll in exe einbinden

Anfängerfragen zum Programmieren mit PureBasic.
slave
Beiträge: 18
Registriert: 15.10.2004 13:19

fmod.dll in exe einbinden

Beitrag 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
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: fmod.dll in exe einbinden

Beitrag 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
Bild

- formerly known as Bananenfreak -
slave
Beiträge: 18
Registriert: 15.10.2004 13:19

Re: fmod.dll in exe einbinden

Beitrag 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
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

Re: fmod.dll in exe einbinden

Beitrag 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
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
slave
Beiträge: 18
Registriert: 15.10.2004 13:19

Re: fmod.dll in exe einbinden

Beitrag 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

slave
Beiträge: 18
Registriert: 15.10.2004 13:19

Re: fmod.dll in exe einbinden

Beitrag 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(
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

Re: fmod.dll in exe einbinden

Beitrag 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.
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
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: fmod.dll in exe einbinden

Beitrag 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. :wink:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
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

Re: fmod.dll in exe einbinden

Beitrag 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.
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
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: fmod.dll in exe einbinden

Beitrag 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.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten