Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Manifest in Resource-Datei <--> {$R *.res} (https://www.delphipraxis.net/180887-manifest-resource-datei-%7B%24r-%2A-res%7D.html)

berens 27. Jun 2014 12:22

Manifest in Resource-Datei <--> {$R *.res}
 
Hallo zusammen,
dank Himitsus ManifestCreator kann man die ja echt schnell zusammenklicken: http://www.delphipraxis.net/139658-m...t-creator.html

Ich habe mir die wichtigsten Manifeste als Resource-Dateien erstellt, und binde diese je nach Bedarf in meine Teilprojekte der Projektgruppe ein:

w7_admin.res / w7_elevate.res / w7_OhneAdmin.res
z.B. mit
Delphi-Quellcode:
{$R w7_OhneAdmin.res}
Damit die Icons und anderen Resourcen meiner jeweiligen Projekte verwendet werden können, muss ja anschließend im Quelltext der Projektdatei (.dpr / .dproj)
Delphi-Quellcode:
{$R *.res}
stehen.

Da die Manifeste im gemeinsamen Ordner liegen mit anderen Resourcen, wird nun also bei jedem Projekt mit "w7_OhneAdmin.res" auch automatisch das Manifest "w7_Admin.res" mit eingebunden?
In welcher Reihenfolge interpretiert Windows die Manifeste?
Fordert das Programm nun bei irgendeinem Kunden nach Zufallsprinzip Admin-Rechte an oder nicht?

Muss ich für jedes Projekt ein eigenes Manifest erstellen (z.B. Projektname1_Manifest.res) in einem Ordner, der nicht bei anderen Projekten als Such-/Bibliothekspfad hinterlegt ist?

himitsu 27. Jun 2014 13:54

AW: Manifest in Resource-Datei <--> {$R *.res}
 
Alle Resourcen dürfen pro EXE, DLL oder BPL nur einmal vorkommen. (anhand Name und/oder ID)
Wenn du also ein "fremdes" Manifest verwendest, dann darf kein Anderes in der EXE vorkommen.

Du mußt also das Manifest (XP-Style) entfernen/deaktivieren, welches Delphi standardmäßig in seiner *.res ablegt.


Darum gibt der Linker vom Delphi auch eine Warnmeldung bei doppelten Resourcen aus und linkt dann nur das ein, was zuerst beim Compilieren aufgetaucht ist.

bcvs 30. Jun 2014 09:04

AW: Manifest in Resource-Datei <--> {$R *.res}
 
Zitat:

Zitat von berens (Beitrag 1263640)

Damit die Icons und anderen Resourcen meiner jeweiligen Projekte verwendet werden können, muss ja anschließend im Quelltext der Projektdatei (.dpr / .dproj)
Delphi-Quellcode:
{$R *.res}
stehen.

Nicht unbedingt. Setz doch statt *.res da einfach den konkreten Namen deiner Projektresource ein, also MeinProjekt.res.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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