Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi dll in meiner anwendung anstatt extern? (https://www.delphipraxis.net/81310-dll-meiner-anwendung-anstatt-extern.html)

smc 24. Nov 2006 15:55


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ß

gmc616 24. Nov 2006 16:29

Re: dll in meiner anwendung anstatt extern?
 
Ähmm ... bestimmt: ja.

statischen einbinden z.B. so:
Delphi-Quellcode:
const
  DLLName = 'C:\Der\Pfad\wo\deine\Dll\liegt\Deine.DLL';

function DllFunction(Paramter1 : TDatentyp) : TReturnTyp; stdcall; external DllName;
Und dynamisch
Delphi-Quellcode:
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]);
Ist es das was du suchst?

Valle 24. Nov 2006 16:36

Re: dll in meiner anwendung anstatt extern?
 
Zitat:

Zitat von gmc616
Ist es das was du suchst?

Ich hätte gesagt, er will die DLL nich als extra Datei mitliefern, sondern direkt in die Anwendung "reinmachen".
Ist aber - glaube ich - nicht möglich ;)

MfG,

Valle

[EDIT]

Mein 100er Beitrag! Year!

:cheers: :firejump:

[/EDIT]

OregonGhost 24. Nov 2006 16:42

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.

gmc616 24. Nov 2006 16:45

Re: dll in meiner anwendung anstatt extern?
 
Zitat:

Zitat von Valle
Ich hätte gesagt, er will die DLL nich als extra Datei mitliefern, sondern direkt in die Anwendung "reinmachen".
Ist aber - glaube ich - nicht möglich ;)

Ah! Oder so.
Doch ich denke das geht. Die TBassDll, die hier im Forum existiert, macht das.
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.

Balu der Bär 24. Nov 2006 17:21

Re: dll in meiner anwendung anstatt extern?
 
http://www.delphipraxis.net/internal...t=dll+resource


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