Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DLL in neue DLL mit kompilieren (https://www.delphipraxis.net/97050-dll-neue-dll-mit-kompilieren.html)

Christian.Ossi 3. Aug 2007 16:27


DLL in neue DLL mit kompilieren
 
Kann man eine vorhandene fertige DLL (also nicht den Quellcode) in
eine neue DLL mit einfügen? Würde somit nicht 2, sondern nur eine
davon brauchen.

oki 3. Aug 2007 17:38

Re: DLL in neue DLL mit kompilieren
 
Würd mal sagen: Nööö.

Gruß oki

SirThornberry 3. Aug 2007 17:58

Re: DLL in neue DLL mit kompilieren
 
das geht genau so wenig wie du eine andere Exe nicht in deine Exe oder DLL einbinden kannst.

DeddyH 3. Aug 2007 18:05

Re: DLL in neue DLL mit kompilieren
 
Naja, im Prinzip würde das schon gehen, aber wohl nicht so wie beabsichtigt.

Christian.Ossi 3. Aug 2007 18:08

Re: DLL in neue DLL mit kompilieren
 
sondern wie?

DeddyH 3. Aug 2007 18:11

Re: DLL in neue DLL mit kompilieren
 
Nach dem Prinzip selbstextrahierender Archive z.B. Das bedeutet aber, dass die angehängten Dateien zunächst entpackt werden müssen, bevor man sie nutzen kann.

sk0r 3. Aug 2007 18:18

Re: DLL in neue DLL mit kompilieren
 
Du könntest Resourcen (*.res) nehmen.
Kompilierst also die fertige Datei in eine Resource (*.res)
Datei mit Hilfe von brcc32.exe.

Danach inkludierst du sie mit {$R name.res}.

Erstellen tust du sie dem TResourceStream Objekt.

Code:
var
 test: TResourceStream;
begin
  test := TResourceStream.Create(0, 'name', 'restype');
  test.SaveToFile('C:\test.dat');
  test.free;
end;

Christian.Ossi 3. Aug 2007 18:42

Re: DLL in neue DLL mit kompilieren
 
gut das klappt.
aber es geht nur über das speichern - man kann das nicht über den Stream direkt im Speicher tun?

DaFox 3. Aug 2007 21:41

Re: DLL in neue DLL mit kompilieren
 
Hi,

Zitat:

Zitat von Christian.Ossi
gut das klappt.
aber es geht nur über das speichern - man kann das nicht über den Stream direkt im Speicher tun?

Auch das geht prinzipiell. Nico hat mir vor einiger Zeit einen Code von Gary Nebbett übersetzt, der genau das tut. Meines Wissens ist der Code (inmemexe) auf Luckies Webseite zu finden. Von einem produktiven Einsatz des Codes würde ich allerdings abraten.

Gruß,
Markus


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz