Autor Beitrag
Holgerwa
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 325

WIN XP Pro, Vista Business
Delphi 7 Pro, BDS 2006 Pro
BeitragVerfasst: Mo 16.05.05 09:25 
Hallo,

ich muß eine zugekaufte Bibliothek verwenden, von der ich auch den Sourcecode besitze.
Leider sind alle Ausgabetexte in dieser Bib in Englisch, und im Sourcecode als ResourceString angelegt, was sie ja zu Konstanten macht.

Da das Programm während der Laufzeit zwischen verschiedenen Sprachen umschalten muß, muß ich diese "Konstanten" während der Laufzeit umdefinieren, d.h. es müßten Variablen sein.

Ich kann aber nicht alle Resourcestrings in Variablen umdefinieren, weil ein Großteil davon bei Definitionen verwendet wird, die Konstanten erfordern.

Als Lösung gibt es wohl zwei Wege:
1) Große Teile des Sourcecodes müssen verändert werden, was aber beim nächsten Update der Bibliothek unschön wird, also möchte ich das wenn möglich vermeiden.
2) Es hat jemand eine Idee, wie man das besser lösen kann :wink:

Vielen Dank!
Holger
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.05.05 09:46 
user profile iconHolgerwa hat folgendes geschrieben:
Hallo,
Da das Programm während der Laufzeit zwischen verschiedenen Sprachen umschalten muß, muß ich diese "Konstanten" während der Laufzeit umdefinieren, d.h. es müßten Variablen sein.

So eine Funktion mag ja nett sein, aber ich persönlich stelle mir die Sprache einmal ein und ändere sie nie wieder, oder ich erwarte, dass sich das Programm automatisch auf meine Systemsprache einstellt. Und das ist ja der Sinn der resourcestrings.

Wenn man die numerischen Werte der Ressourcenstrings kennt, kann man eine externe DLL definieren, die die übersetzten Strings enthält und eine zur Systemsprache passende Endung benutzt. Delphi sorgt von sich aus dafür, dass die passende DLL geladen wird und benutzt somit die übersetzten Strings.


Daher komme ich zu Punkt #2: "Jemand hat eine bessere Idee". Ob sie besser ist, dürfte Ansichtssache sein, aber ich würde sagen: Spar dir die Arbeit und lass die Bibliothek so, wie sie ist.