![]() |
dll in meiner anwendung anstatt extern?
Hallo,
ist es möglich eine .dll in meine anwendungs .exe einzubetten? oder kann ich diese nur extern bzw. im gleichen ordner der .exe aufrufen/benutzen? gruß |
Re: dll in meiner anwendung anstatt extern?
Ähmm ... bestimmt: ja.
statischen einbinden z.B. so:
Delphi-Quellcode:
Und dynamisch
const
DLLName = 'C:\Der\Pfad\wo\deine\Dll\liegt\Deine.DLL'; function DllFunction(Paramter1 : TDatentyp) : TReturnTyp; stdcall; external DllName;
Delphi-Quellcode:
Ist es das was du suchst?
const
DLLName = 'C:\Der\Pfad\wo\deine\Dll\liegt\Deine.DLL'; sFunctionName = 'DLLFunction'; type TFN_DllFunction = function (Paramter1 : TDatentyp) : TReturnTyp; stdcall; var Handle : THandle; DllFunction : TFN_DllFunction = nil; ... Handle:=LoadLibrary(@DLLName[1]); if Handle <> 0 then begin @DllFunction := GetProcAddress(Handle, @sFunctionName[1]); |
Re: dll in meiner anwendung anstatt extern?
Zitat:
Ist aber - glaube ich - nicht möglich ;) MfG, Valle [EDIT] Mein 100er Beitrag! Year! :cheers: :firejump: [/EDIT] |
Re: dll in meiner anwendung anstatt extern?
Ich kann dir zwar nicht mit den Details dienen (und sehe den Sinn auch nicht ganz), aber klar, im Prinzip kannst du die DLL als Ressource in deine EXE einbetten und beim Starten auslesen. Du musst dann natürlich die Funktionen von Hand importieren. Ich weiß nicht, ob bzw. wie du die DLL in den Speicher laden und von dort aus aufrufen kannst, in jedem Fall könntest du sie jedoch temporär auf die Festplatte speichern und anschließend löschen.
|
Re: dll in meiner anwendung anstatt extern?
Zitat:
Doch ich denke das geht. Die ![]() Dabei wird die DLL irgendwie an die Exe-Datei angehängt und beim Programmstart auf die Platte geschrieben. Wie das funktioniert musst du dir allerdings selbst anschauen. |
Re: dll in meiner anwendung anstatt extern?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz