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
Benutzerbild von himitsu
himitsu

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

AW: *.dll zur Laufzeit erzeugen

  Alt 5. Mär 2014, 15: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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

AW: *.dll zur Laufzeit erzeugen

  Alt 6. Mär 2014, 09: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.656 Beiträge
 
Delphi 12 Athens
 
#3

AW: *.dll zur Laufzeit erzeugen

  Alt 6. Mär 2014, 09: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
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#4

AW: *.dll zur Laufzeit erzeugen

  Alt 6. Mär 2014, 09:12
Ein konkreter Anwendungsfall wäre MUI, das Windows-eigene Lokalisierungs-System, das mit reinen Resourcen-DLLs arbeitet.

Dummerweise taugen Delphi-DLLs da nicht, da sie auch bei "leeren" Programmen nicht ohne Code-Segment erstellt werden, was das MUI-System stört.

Eine per Assembler erstellte Resourcen-DLL wäre ein besserer Ausgangspunkt, siehe auch diesen Thread von mir dazu, da steht drin, wie es auch mit FASM oder Visual Studio geht.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: *.dll zur Laufzeit erzeugen

  Alt 7. Mär 2014, 12:26
Bei einer DLL vielleicht nicht allzu sinnvoll, aber das Ahängen / Ändern von Programmresourcen ist gang und gebe, wenn man z.b. mal an Installer denkt. Meist liegt dem Programm zum Erstellen des Installers einfach eine Stub dabei, der dann sämtliche Konfigurationen und Datendateien angehangen wird.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: *.dll zur Laufzeit erzeugen

  Alt 7. Mär 2014, 12:38
Du könntest ja mal im QC anfragen, ob die eine Daten-DLL (Datei neu ...) mit ins Portfolio aufnehmen würden

Wenn ich es richtig verstanden habe,
Jupp, nur war mir einfach nicht mehr die API dazu eingefallen.

(und nach sowie wie "resourcen" und "bearbeiten" zu suchen, half leider auch nix)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Mär 2014 um 12:41 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:12 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