guten Abend, besser gute nacht
gibt es eine möglichkeit, das meine exe eine dll von einem anderen pfad findet, als i gleichen verzeichniss?
damit meine ich zb midas11.dll oder atl.dll.
hier ist meine exe.
jetzt will ich, das zb die dll midas11.dll im ordner Dll ist.
also midas11.dll befindet sich im verzeichnis
DLL\midas11.dll
geht das das die exe diese "wichtige" dll von diesem pfad lädt?
es sieht nämlich nicht schön aus, wen alle dlls in dem verzeichnis wie die exe ist.
DLL von anderem Ordner laden
- Green Snake
- Beiträge: 1394
- Registriert: 22.02.2005 19:08
Code: Alles auswählen
If OpenLibrary(#DLL, "/DLL/eine_DLL.dll")
EndIf
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
- Green Snake
- Beiträge: 1394
- Registriert: 22.02.2005 19:08
nein, leider nicht
hallo
ich meine eine standart dll, wie zb die midas11.dll.
ohne sie, kann man keine musik module abspielen.
so eine möchte ich, in einem anderen ordner haben, als meine exe.
zb so
hier ist meine exe --> hier ein ordner ---> hier di midas11.dll
dein code funktioniert meiner meinung nach nur bei selbst erstellten dlls bzw keine standart dlls.
trotzdem danke für deine hilfe
ich meine eine standart dll, wie zb die midas11.dll.
ohne sie, kann man keine musik module abspielen.
so eine möchte ich, in einem anderen ordner haben, als meine exe.
zb so
hier ist meine exe --> hier ein ordner ---> hier di midas11.dll
dein code funktioniert meiner meinung nach nur bei selbst erstellten dlls bzw keine standart dlls.
trotzdem danke für deine hilfe
-.-"
- 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: DLL von anderem Ordner laden
Bei OpenLibrary kannste selbstverständlich einen Pfad mit angebenGreen Snake hat geschrieben:gibt es eine möglichkeit, das meine exe eine dll von einem anderen pfad findet, als i gleichen verzeichniss?
Wenn Du Dir eine neue Module Lib programmierstGreen Snake hat geschrieben: damit meine ich zb midas11.dll oder atl.dll.
jetzt will ich, das zb die dll midas11.dll im ordner Dll ist.
also midas11.dll befindet sich im verzeichnis
DLL\midas11.dll

Vielleicht sollten Deine Kunden oder wer auch immer, Deine Exe über eine Verknüpfung starten, so das Ihnen die wahre Schönheit Deines Programmes nicht verschandelt wird.Green Snake hat geschrieben: geht das das die exe diese "wichtige" dll von diesem pfad lädt?
es sieht nämlich nicht schön aus, wen alle dlls in dem verzeichnis wie die exe ist.

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Es ging Green Snake hier um PureBasic-Befehle die intern aufZaphod hat geschrieben:es gibt keine standard dlls. *jede* dll wurde mal von jemandem selbstprogrammiert. du kannst openlibrary selbst mit den windows dlls benutzen.
DLLs zugreifen.
Das sind alle Windows-DLLs, Engine3D.dll und eben auch diese
Midas11.dll.
Da diese DLL-Funktionen in der Importsektion der EXE sind
(statisch hinzugelinkt), werden diese DLLs im EXE-Verzeichniss
und im Systemverzeichniss (bzw. in %PATH%) gesucht.
Sind sie dort nicht vorhanden, bringt der Windows-EXE-Loader
einen Fehler.
Die Windows-DLLs sind eh überall vorhanden. Bei anderen
statisch gelinkten DLLs (Engine3D.dll, Midas11.dll) kann man
es so machen das ein Installationsprogramm diese im System
installiert. Ist aber nicht unbedingt anzuraten.
Eine andere Möglichkeit wäre einen Selbstentpacker zu benutzen.
Man schreibt also ein Mini-Programm welches die EXE und die
2 DLLs enthält. Beim Start werden die einfach nach %TEMP%\Zufallsname\
entpackt, dann die EXE ausgeführt. Am Ende (oder nach Neustart)
wird %TEMP%\Zufallsname\ einfach wieder gelöscht.
Solche Packerprogramme hab ich hier schonmal gesehen, ich
glaube eines war mal vor Jahren von Rings.
Kann aber auch jeder selbst schreiben, ist ja nicht viel.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck