Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Versionsnummer für DLL eingeben (https://www.delphipraxis.net/117870-versionsnummer-fuer-dll-eingeben.html)

Guido Eisenbeis 26. Jul 2008 23:14


Versionsnummer für DLL eingeben
 
Ich habe eine DLL geschrieben, die als Explorer-Contextmenuhandler agiert. Wenn ich nun in den Projekt-Einstellungen Versions-Infos eingeben will, dann sind dort alle Punkte disabled.

Wie kann ich denn Versions-Infos für meine DLL eingeben?

Guido.

Mr_G 27. Jul 2008 00:59

Re: Versionsnummer für DLL eingeben
 
Evtl. funktionierts ja wie bei einer Konsolenanwendung: http://www.delphipraxis.net/internal...=171048#171048

Guido Eisenbeis 27. Jul 2008 01:39

Re: Versionsnummer für DLL eingeben
 
Hallo Mr_G,

prompte Antwort! *freu*

In meiner DLL ist schon eine Ressourcen-Datei eingebunden, die "Version Info" wird damit jedoch nicht freigegeben. Wenn ich jetzt den genauen Namen der .res-Datei durch ein Wildkard ersetze (also {$R *.res} ), wird die "Version Info" freigegeben.

Bei meinem ersten Versuch gab es dann einen Fehler beim Kompilieren, später jedoch nicht mehr. Werde jetzt testen, ob die Funkionalität der DLL erhalten bleibt.

...

So, hab die Funktionalität getestet, scheint alles zu funktionieren. Vielen Dank für deine Hilfe! :spin2:

Noch eine Frage zum Schluss: Wenn ich nun mehrere .res-Dateien einbinden will, genügt dann immernoch der obige Eintrag mit dem Wildcard, oder muss jede einzeln mit genauem Namen eingetragen werden?

Guido.

RWarnecke 27. Jul 2008 08:12

Re: Versionsnummer für DLL eingeben
 
Zitat:

Zitat von Guido Eisenbeis
Noch eine Frage zum Schluss: Wenn ich nun mehrere .res-Dateien einbinden will, genügt dann immernoch der obige Eintrag mit dem Wildcard, oder muss jede einzeln mit genauem Namen eingetragen werden?

Du musst jede Resourcedatei einzeln angeben.

Codewalker 27. Jul 2008 08:30

Re: Versionsnummer für DLL eingeben
 
Der Stern ist hier nicht ein Platzhalter im DOS-Sinne, sondern steht für den Klassen- oder Projektnamen (bin mir nicht mehr sicher, steht aber in der Delphi Hilfe)

Guido Eisenbeis 27. Jul 2008 09:29

Re: Versionsnummer für DLL eingeben
 
Zitat:

Zitat von RWarnecke
Du musst jede Resourcedatei einzeln angeben.

Schreibe ich den Res-Eintrag mit Wildcard (also {$R *.res}), wird die "Version Info" freigegeben.
Schreibe ich den Res-Eintrag mit genauem Dateinamen, wird die "Version Info" NICHT freigegeben.

Wie kann ich dieses Dilemma lösen? :gruebel:

Guido.

Guido Eisenbeis 27. Jul 2008 09:53

Re: Versionsnummer für DLL eingeben
 
Zitat:

Zitat von Codewalker
Der Stern ist hier nicht ein Platzhalter im DOS-Sinne, sondern steht für den Klassen- oder Projektnamen (bin mir nicht mehr sicher, steht aber in der Delphi Hilfe)

Zitat:

Zitat von Delphi Hilfe
Das Symbol * hat in $R-Direktiven eine spezielle Bedeutung: Es steht für den Namensstamm (ohne Erweiterung) der Quelltextdatei, in der die Direktive enthalten ist. In der Regel weist eine Ressourcen-Datei einer Anwendung (.res) denselben Namen auf wie die zugehörige Projektdatei (.dpr).

Das war die Lösung! :hello:

Der Stern steht halt wirklich nicht für einen Platzhalter, sondern ist eher eine Abkürzung für den Namensstamm der zugehörigen Projektdatei! Das heißt für mich:

Lautet der Projekt-Name = Project1.bdsproj, dann steht {$R *.res} für {$R Project1.res}.

Trägt man nun {$R *.res} und {$R Project1.res} ein, hat man die einundselbe Datei zweimal eingebunden. Das führt natürlich zu einem Kompilierungsfehler.

Trägt man nun {$R *.res} und {$R EineAndereResDatei.res} ein, funktioniert das fehlerfrei, vorausgesetzt die beiden Res-Dateien sind auch wirklich unterschiedlich (und nicht nur die Namen)!

Dank euer Hilfe (und ein wenig Trail-And-Error) ist das Problem nun gelöst!

Vielen Dank! :thumb:

Guido.


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