Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Versionsinfo mit XE2 (https://www.delphipraxis.net/172343-versionsinfo-mit-xe2.html)

musicman56 27. Dez 2012 18:18

Versionsinfo mit XE2
 
Hallo zusammen,

komisch: Wenn ich in den Versionsinformationen Sprach-ID "Englisch (USA)" einstelle, sind die Versionsinformationen auch sichtbar, sprich werden von meiner Klasse deren Quelltext ich schon vor Jahren mal irgendwo im Web gefunden habe auch angezeigt.

Stelle ich die Sprach-ID auf Deutsch(Deutschland) oder eine andere Sprache um, werden die Informationen nicht mehr "gefunden", d.h. sie sind pysikalisch noch in der EXE vorhanden, werden nur nicht gefunden.

Dieselbe Klasse funktioniert unter 2007 einwandfrei, egal welche Sprache ich einstelle. Iregendwie hab ich das Gefühl, dass das ein XE2-Bug ist?

Ach ja, XE2 Version 16.0.4276.44006.

jbg 27. Dez 2012 19:48

AW: Versionsinfo mit XE2
 
Zitat:

Zitat von musicman56 (Beitrag 1196872)
von meiner Klasse deren Quelltext ich schon vor Jahren mal irgendwo im Web gefunden habe auch angezeigt.

Und der Code wäre?

musicman56 27. Dez 2012 20:06

AW: Versionsinfo mit XE2
 
Hallo,

Code:
Und der Code wäre?
wie gesagt, Quelle aus dem Web, aber keine Open-Source. Darum - wir hatten das Thema an anderer Stelle schon mehrmals - lizenzrechtlich keine Möglichkeit den Code zu veröffentlichen.

Aber - um den Code geht es mir bei der Frage ja gar nicht. Funktioniert ja mit 2007 mit allen anderen Sprach-ID's. Mittlerweile auch mit 2010 probiert. An der Unicode-Umsetzung kanne s also auch nicht liegen.

Dem User die Versionsinformationen machen doch sicher viele von euch. Mit unterschiedlichen (individuellen) Möglichkeiten. Die Frage ist darum, ob es nachvollziehbar, und somit ein XE2-Bug ist.

Uwe Raabe 27. Dez 2012 21:42

AW: Versionsinfo mit XE2
 
Hast du alle Updates und Hotfixes installiert?

Wunni 27. Dez 2012 22:32

AW: Versionsinfo mit XE2
 
Versionsinfo in XE2 funktioniert auch bei mir in keinster Weise so, wie man es erwartet. Abgesehen davon, dass es umständlich ist werden die Eingaben manchmal nicht gespeichert... oder erst beim 2. Versuch. In Delphi funktionieren manchmal die einfachsten Dinge eben nicht... :(

RWarnecke 28. Dez 2012 07:37

AW: Versionsinfo mit XE2
 
Was mir aufgefallen ist, in der Versionsinfo von XE2, ist folgendes. Wenn ich die Daten zum Beispiel erst in den Debug 32Bit Informationen eintrage und danach die Release 32Bit Informationen eintrage, wird nicht alles so gespeichert wie ich will. Trage ich aber erst die Allgemeine Informationen ein und dann die Debug und/oder die Release, so werden die Eingaben aus den Allgemeinen Informationen übernommen und ich brauche nur noch spezifischen Eingaben für Debug und/oder Release definieren.

Uwe Raabe 28. Dez 2012 08:16

AW: Versionsinfo mit XE2
 
Es ist leider so, daß die VersionsInfo zwar den gleichen Vererbungsmechanismus unterstützt, wie z.B. die Suchpfade, leider aber nicht so konsequent in der GUI umgesetzt ist, daß man damit bequem arbeiten kann (erben: ja/nein, geerbt von...).

In manchen Fällen muss man erst manuell in die dproj-Datei gehen und die ungewollten Einträge entfernen (gerade bei migrierten Projekten). Danach funktioniert es eigentlich ganz gut.

musicman56 28. Dez 2012 08:37

AW: Versionsinfo mit XE2
 
Hallo zusammen,

erst mal dankeschön für das Feedback. Mittlerweile steht fest: Es ist ein XE2-Bug.

Habe Update 4 nochmals installiert. Jetzt ist es komischerweise 16.0.4429.46931. Zuvor hab ich den Ordner "Rad_Studio_XE2_Upd4_Downloads" gesichert und nach der Installation die Dateien verglichen: Keine Unterschiede festgestellt.

Daraus schließe ich, dass mit dem Installationsprogramm beim Updaten was falsch läuft. Ich bin ja jahrelanger Delphi-Fan (mit der 16-bittigen 1-er angefangen) aber das was Emba die letzten Jahre serviert ist nicht mehr vom Feinsten wie vorher bei Borland. Manchmal habe ich den Eindruck, dass sich ein paar Leute zu viel weißes Pulver durch die Nase ziehen.

Wir alle machen Fehler, aber dass so zahlreiche und grundsätzliche Dinge wie beispielsweise [strg]+shift+[c] nicht immer funktionieren (die Logik dahinter hab ich bis heute nicht herausgefunden) verunsichert mich dann schon sehr. So was gab's früher nicht.

Wo (in welchen Dateien) speichert XE2 eigentlich die Versionsinformationen? Mir ist nämlich gerade aufgefallen, dass bei ein paar Projekten die Sprach-ID nicht verändert werden kann. Ich kann sie zwar in der Combo ändern, aber gespeichert wird sie nicht.

Muss jetzt weg auf Kundenbesuch, werde mich abends wieder darum kümmern. Besonders um die Anregungen von RWarnecke. Wenn ich mehr weiß, melde ich mich wieder. Bis dann.

[edit]

Danke Uwe für den Tipp....das kam mir auch schon in den Sinn: Einfach mal alle "dproj" löschen. Werde es abends ausprobieren.

Bernhard Geyer 28. Dez 2012 09:08

AW: Versionsinfo mit XE2
 
Zitat:

Zitat von musicman56 (Beitrag 1196905)
Ich bin ja jahrelanger Delphi-Fan (mit der 16-bittigen 1-er angefangen) aber das was Emba die letzten Jahre serviert ist nicht mehr vom Feinsten wie vorher bei Borland.

Dann kennst du aber Delphi 8/2005 nicht. Vor allem D8 bestand eigentlich nur aus Fehlern. Und das wurde noch zu Borland-Zeiten verbrochen.
Lag evtl. auch schon daran das man sich bei Borland auf die Kernkompetenz Power-Point-Folien konzentrieren wollte.


Zitat:

Zitat von musicman56 (Beitrag 1196905)
Wir alle machen Fehler, aber dass so zahlreiche und grundsätzliche Dinge wie beispielsweise [strg]+shift+[c] nicht immer funktionieren (die Logik dahinter hab ich bis heute nicht herausgefunden) verunsichert mich dann schon sehr. So was gab's früher nicht.

Diese Probleme habe ich bei anderen Programmen (Adobe Acrobat). Ich könnte mir vorstellen das dies ein Windows-Bug ist (bzw. eine Fehler in irgendeinenem programm das einen Tastaturhook registriert hat)

Zitat:

Zitat von musicman56 (Beitrag 1196905)
Wo (in welchen Dateien) speichert XE2 eigentlich die Versionsinformationen? Mir ist nämlich gerade aufgefallen, dass bei ein paar Projekten die Sprach-ID nicht verändert werden kann. Ich kann sie zwar in der Combo ändern, aber gespeichert wird sie nicht.

Hast du schon den Tipp von Uwe befolgt?

Wunni 28. Dez 2012 11:00

AW: Versionsinfo mit XE2
 
... und das schöne ist, ein Bug in XE2 bleibt immer ein Bug in XE2, weil sich der Hersteller nur um die aktuelle Version kümmert. Was kümmern mich die Leute, die mein XE2 gekauft haben, die sollen gefälligst meine neuste Produktversion kaufen! Du wirst bist mit dem ganzen Schrott jedes Jahr zum Upgrade genötigt... ein weiterer Grund sich für neue Projekte intensiv mit Visual Studio, XCode oder Lazarus zu beschäftigen!

Uwe Raabe 28. Dez 2012 11:18

AW: Versionsinfo mit XE2
 
Ich habe das nochmal recherchiert und der Fehler ist angeblich in Version 16.0.4256.43595 behoben worden. Ich kann das in meiner aktuellen XE2-Version 16.0.4504.48759 (Update 4 Hotfix 1) auch nicht reproduzieren.

Bernhard Geyer 28. Dez 2012 11:54

AW: Versionsinfo mit XE2
 
Zitat:

Zitat von Wunni (Beitrag 1196923)
... und das schöne ist, ein Bug in XE2 bleibt immer ein Bug in XE2, weil sich der Hersteller nur um die aktuelle Version kümmert. Was kümmern mich die Leute, die mein XE2 gekauft haben, die sollen gefälligst meine neuste Produktversion kaufen! Du wirst bist mit dem ganzen Schrott jedes Jahr zum Upgrade genötigt... ein weiterer Grund sich für neue Projekte intensiv mit Visual Studio, XCode oder Lazarus zu beschäftigen!

Das ist nicht unbedingt nötig. Da man ab der Pro-Version die Quellcodes der VCL/RTL hat ist es möglich Fehler dort auch in eigenregie auch in älteren Delphi-Versionen zu beheben. Diese Fixes beheben dann nicht die Fehler der IDE die Verwendung in der IDE (dafür gibts ja andere Projekte), aber man kann die Fehler in der eigenen Anwendung fixen.
Erfolgreich von mir schon für Fehler bei COM (Registrierung Schnittstelle), Stringhandling (Fehler bei const-Widestrings bei Zuweisung auf sich selbst) sowie diversen anderen Bereichen durchgeführt. Ist die Funktion nicht public kann man auch Hookingtechniken wie sie die TNT-Bibliothek bietet verwenden um z.B. Buffergrößenprobleme beim Format-Befehl beheben.

musicman56 28. Dez 2012 22:09

AW: Versionsinfo mit XE2
 
Hallo,

@Uwe

Habe soeben die letzte verfügbare Version (Update4 mit Hotfix1) installiert, und jetzt so wie Du Version 16.0.4504.48759. Aber, das Problem existiert noch immer: Egal welche Sprach-ID ich zuweise, es wird nicht gespeichert und ist immer wieder Englisch(USA) $0409.

Sogar nachdem ich die .dproj gelöscht und neu angelegt habe das selbe Problem. Dann hab ich mal alle Dateien zum Projekt gelöscht, mit Ausnahme der .dpr. Das Selbe. Ich begreif es nicht mehr.

Uwe Raabe 28. Dez 2012 22:57

AW: Versionsinfo mit XE2
 
Zitat:

Zitat von musicman56 (Beitrag 1197012)
Egal welche Sprach-ID ich zuweise, es wird nicht gespeichert und ist immer wieder Englisch(USA) $0409.

Sogar nachdem ich die .dproj gelöscht und neu angelegt habe das selbe Problem.

Dann häng doch mal bitte die dproj an.

musicman56 28. Dez 2012 23:49

AW: Versionsinfo mit XE2
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Uwe,

anbei die Datei. Delphi scheint die versionsinfo nirgendwo anders zu speichern. Wenn ich in der .dproj <VerInfo_Locale>1033</VerInfo_Locale> manuell mit 1031 ($0407) ersetze, bleibt es zumindest erhalten.

Vielen Dank für deine Bemühungen, vielleicht findest du ja was raus?

Uwe Raabe 29. Dez 2012 10:24

AW: Versionsinfo mit XE2
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich führe hier mal nur die relevanten Einträge auf:

Delphi-Quellcode:
      
<PropertyGroup Condition="'$(Base)'!=''">
<VerInfo_MinorVer>1</VerInfo_MinorVer>
<VerInfo_MajorVer>2012</VerInfo_MajorVer>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Release>1</VerInfo_Release>
<VerInfo_Locale>1031</VerInfo_Locale>
<VerInfo_Keys>...</VerInfo_Keys>
</PropertyGroup>
...
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_Keys>...</VerInfo_Keys>
</PropertyGroup>
...
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<VerInfo_Build>28</VerInfo_Build>
<VerInfo_MinorVer>12</VerInfo_MinorVer>
<VerInfo_MajorVer>2013</VerInfo_MajorVer>
<VerInfo_Keys>...</VerInfo_Keys>
<VerInfo_Release>112</VerInfo_Release>
</PropertyGroup>
...
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<VerInfo_MinorVer>0</VerInfo_MinorVer>
<VerInfo_MajorVer>2013</VerInfo_MajorVer>
<VerInfo_Keys>...</VerInfo_Keys>
<VerInfo_Release>0</VerInfo_Release>
</PropertyGroup>
Wir haben hier also separate VersionsInfo-Einträge in der Basis-Konfiguration, der Win32-Konfiguration und der Release- und Debug-Konfiguration für Win32. Genommen werden immer die letzten Einträge in der Hierarchie (also Release und Debug alias Cfg_1_Win32 und Cfg_2_Win32). Für die Locale wird der Eintrag aus der Win32-Konfiguration verwendet.

Will man die VersionsInfo in allen Konfigurationen einheitlich haben, muss man die Einträge in den abgeleiteten Konfigurationen entfernen. Mir ist bislang kein Weg bekannt, dies innerhalb der IDE zu machen (Andy :hi:), daher mache ich das immer in der dproj mit einem Text-Editor. Es genügt dabei, alle <VerInfo_???>-Einträge in den entsprechenden PropertyGroups zu löschen.

Ich habe das mal durchgeführt und die Datei wieder angehängt. Leider kann ich es mangels restlicher Projektdateien nicht ausprobieren.

musicman56 29. Dez 2012 11:27

AW: Versionsinfo mit XE2
 
Hallo Uwe,

das schaut doch schon sehr gut aus 8-) Mit diesem (deinen) Wissen bewaffnet, könnte man doch ein einfaches Tool zur "externen" Versionsverwaltung schreiben. Mich hat es sowieso schon oft geärgert, dass ich bei jedem Build-Lauf 24 Projekteigenschaften (meine App besteht aus 24 Programm-Modulen) bearbeiten muss. Ich werde das dieses Wochenende mal angehen und das Ergebnis dann hier online stellen. Wenn du dann bitte noch so lieb wärst und einen Blick darauf werfen würdest, ob alles passt? Dann wären wieder ein paar Delphianer happy, und wir haben ein Problem weniger :-D

Uwe Raabe 29. Dez 2012 11:33

AW: Versionsinfo mit XE2
 
Zitat:

Zitat von musicman56 (Beitrag 1197044)
Mit diesem (deinen) Wissen bewaffnet, könnte man doch ein einfaches Tool zur "externen" Versionsverwaltung schreiben. Mich hat es sowieso schon oft geärgert, dass ich bei jedem Build-Lauf 24 Projekteigenschaften (meine App besteht aus 24 Programm-Modulen) bearbeiten muss

Daher ja auch mein Wink zu Andy: Adds a dialog to set the versioninfo for multiple projects in a projectgroup

musicman56 29. Dez 2012 12:24

AW: Versionsinfo mit XE2
 
Hallo Uwe,

jooo...jetzt wird mir der Wink zu Andy (den ich ja nicht kenne) klar. Wenn dieser Dialog mal kommen könnte, dann nicht mehr für XE2, oder?

Das ist jetzt OT: Wird es denn mal ne Lösung dafür geben, dass man eine Projektgruppe "in einem Rutsch" compilieren kann? Ich muss das bisher auf 2x machen, weil sonst die IDE sang- und klanglos "out of memory" abraucht.

Uwe Raabe 29. Dez 2012 13:23

AW: Versionsinfo mit XE2
 
Zitat:

Zitat von musicman56 (Beitrag 1197052)
jooo...jetzt wird mir der Wink zu Andy (den ich ja nicht kenne) klar.

Andy alias jbg alias Andreas Hausladen - siehe Beitrag #2 in diesem Thread.


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