![]() |
Wie Satellite (Resource-Only)-DLL erstellen?
Für diverse Zwecke braucht man ja mal reine Resourcen-DLLs. Dem VC-Linker könnte man per /noentry sagen, daß man gar keinen Entry-Point braucht.
Nur wie macht man das per Delphi (oder alternativ FreePascal)? Das "Standardkonstrukt"
Delphi-Quellcode:
hat ja bereits zwei Resourcen (PACKAGEINFO und DVCLAL), die man natürlich nachträglich entfernen könnte, sowie abr auch eine Code Section, die überflüssig ist und das ganze aufbläht. Unter FreePascal kann ich per -WN zumindest den Relocation-Teil weglassen.
library MyResourceLibrary;
{$R MyResourceLibrary.res} end; Bekomme ich das mit dcc32/fpc-Mitteln besser hin? Abseits davon, ein eigenes Tool schreiben zu müssen, das unnötige Resourcen und Sections entfernt? |
AW: Wie Satellite (Resource-Only)-DLL erstellen?
Ich kenn da jedenfalls nichts,
aber du kannst die DLL auch normal erstellen und dann als Resource-DLL laden, dann wird ebenfalls kein Entry-Point ausgeführt. ![]() Man könnte jetzt auch noch die automatisch eingebundenen System-Units austauschen (eine abgespeckte System.pas und SysInit.pas im Projektverzeichnis), um die Code-Section kleiner zu bekommen. |
AW: Wie Satellite (Resource-Only)-DLL erstellen?
Danke :)
Das kenne ich aber und so mache ich das auch. Es geht mir nicht darum, daß der Entry Point nicht ausgeführt werden soll, sondern einfach darum, "saubere" Dateien zu haben, in denen nicht mehr als wirklich nötig steht. Ich suche quasi das Äquivalent von
Code:
Aus Interesse hauptsächlich :)
link.exe /dll /noentry /def:MyResourceLibrary.def MyResourceLibrary.res
(Nachtrag: und, weil MUI so saubere DLLs benötigt, wie ich als Antwort auf meine eigene Frage herausgefunden habe: ![]() |
AW: Wie Satellite (Resource-Only)-DLL erstellen?
Während ich das Tool zum Anpassen von Delphi-DLLs immer noch plane, habe ich nun eine noch kleinere Form als die von VisualStudio gefunden, nämlich FASM:
Code:
Darein kann ich nun einerseits Resourcen direkt einfügen, oder in das Ergebnis von meinem Delphi-Code aus.
format PE GUI 4.0 DLL
include 'win32a.inc' section '.rsrc' resource data readable directory RT_RCDATA Diese FASM-Grunddatei ist genau 1 KB groß; die von VC war 2 KB, die von Delphi (die nicht für MUI taugt) ca. 20 KB. Soweit nur als Fortschrittsbericht, würde mich natürlich immer noch freuen, wenn das auch mit Delphi möglich wäre. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 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