AGB  ·  Datenschutz  ·  Impressum  







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

Versionsnummer für DLL eingeben

Ein Thema von Guido Eisenbeis · begonnen am 27. Jul 2008 · letzter Beitrag vom 27. Jul 2008
Antwort Antwort
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#1

Versionsnummer für DLL eingeben

  Alt 27. Jul 2008, 00:14
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.
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Versionsnummer für DLL eingeben

  Alt 27. Jul 2008, 01:59
Evtl. funktionierts ja wie bei einer Konsolenanwendung: http://www.delphipraxis.net/internal...=171048#171048
Jan
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Versionsnummer für DLL eingeben

  Alt 27. Jul 2008, 02:39
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!

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.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: Versionsnummer für DLL eingeben

  Alt 27. Jul 2008, 09:12
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.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Versionsnummer für DLL eingeben

  Alt 27. Jul 2008, 09:30
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)
Thomas
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Versionsnummer für DLL eingeben

  Alt 27. Jul 2008, 10:29
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?

Guido.
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Versionsnummer für DLL eingeben

  Alt 27. Jul 2008, 10:53
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 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!

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!

Guido.
  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 03:14 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