AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

*.dll zur Laufzeit erzeugen

Ein Thema von Luki206 · begonnen am 5. Mär 2014 · letzter Beitrag vom 7. Mär 2014
Antwort Antwort
Seite 1 von 2  1 2      
Luki206
(Gast)

n/a Beiträge
 
#1

*.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 15:57
Hi, gibt es die Möglichkeit eine *.DLL zur Laufzeit zu erstellen? Diese DLL sollte eigentlich nur einen Verweis auf eine *.res Datei haben also im Grunde als Ressourcen-DLL fungieren.
Danke
Luki
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: *.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 15:59
Du möchtest zur Laufzeit deines Programms einen DLL-Quellcode erstellen und kompilieren? Wozu soll das gut sein?
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#3

AW: *.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 16:06
Weiß ich selbst nicht nur mir ist langweilig und da habe ich mal ein bisschen rumspielen wollen Aber an deiner Frage lässt man erkennen dass das so nicht geht wie ich es mir gerade denke
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: *.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 16:08
Geht schon: Du erstellst die DLL, speicherst sie ab und rufst dann den Compiler auf. Sinn macht das aber irgendwie nicht.

Wieso nimmst du dir nicht lieber ein sinnvolles Projekt vor und übst daran deine Fertigkeiten und deine Ausdauer?
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: *.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 16:09
Unabhängig davon wofür das gut sein sollte: Dafür brauchst du einen Compiler. Den von Delphi darfst du allerdings nicht mitgeben. Manche Lösungen nehmen sich dafür dann andere, freie Compiler her (Free Pascal z.B.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#6

AW: *.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 16:14
Ich muss gleich los und jetzt nochmal an etwas anderem weiterzuarbeiten hatte ich nicht vorgesehen und mich hatte das auch mal interessiert ob man eine DLL zur Laufzeit erstellen kann
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: *.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 16:27
Ich muss gleich los und jetzt nochmal an etwas anderem weiterzuarbeiten hatte ich nicht vorgesehen und mich hatte das auch mal interessiert ob man eine DLL zur Laufzeit erstellen kann
Prinzipiell kann man das, ja. Eine DLL ist ja nichts weiter, als eine Datei in einem bestimmten Format und mit verschiedenen Daten, mit denen das Betriebssystem was anfangen kann. Ganz genau genommen braucht man dafür nichtmal einen "Compiler" in dem Sinne, dass er Quellcode übersetzt, sondern man muss in dem Fall eben die DLL im erwarteten Format per Hand erstellen und mit den korrekten Daten, Opcodes, Tables, usw. füllen.

Aber ist das was für einen Laien? Nein.

Und wie die anderen hier schon sagten: Wozu soll das gut sein? Wenn du eine Resourcen-DLL brauchst, kannst du auch 1) im Compiler (sprich mit Delphi) eine erstellen und 2) zur Not diese auch noch zur Laufzeit modifizieren (das was auch ein Resourcen-Editor machen kann).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: *.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 16:29
Nur müsstest du dann den Compiler mit deine Anwendung mitgeben und ob das erlaubt ist, ist eine andere Frage.

PS:
- leere DLL erstellen
- diese leere DLL zu deiner EXE legen oder als Resource einbinden
- DLL kopieren oder aus der EXE-Resource auslesen
- nun die DLL im Programm laden
- und die DLL-Resource bearbeiten

Also praktisch das mit dem eigenen Programm machen, was man auch mit jedem Resourcen-Editor machen könnte.
$2B or not $2B
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: *.dll zur Laufzeit erzeugen

  Alt 6. Mär 2014, 10:02
Moin Zusammen,

getestet habe ich es noch nicht, aber grundsätzlich müsste sich das über die Resourcen-Funktionen der Windows-API durchführen lassen, angefangen mit BeginUpdateResource
Man muss also nur eine leere DLL mitgeben, die dann mit den API-Funktionen editiert werden kann.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#10

AW: *.dll zur Laufzeit erzeugen

  Alt 6. Mär 2014, 10:06
Wenn ich es richtig verstanden habe, entspricht das genau dem, was himitsu in seinem PostScriptum skizziert hat. Ich kann mir auch vorstellen, dass das technisch möglich wäre, nur fehlt mir die Phantasie, einen konkreten Anwendungsfall benennen zu können, wenn es nicht gerade um ein Tool zum Erstellen von Ressourcen-DLLs durch den Endanwender geht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 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