![]() |
Fastreport und Lokalizierung von Projekten
Hallo DP'ler,
ich migriere zur Zeit ein Projekt von Delphi XE auf Delphi XE3. Dabei werden auch die Reporte von Rave Report nach Fastreport umgestellt. Das Programm gibt es in zwei Sprachen, Deutsch im Original und Englisch. Für die Reporte habe ich dies mit Rave so gelöst, dass die Reportdateien für die einzelnen Sprachen in unterschiedlichen Verzeichnissen mit gleichen Dateinamen abgelegt wurden. Unter Fastreport möchte ich dies genau so machen. Ich habe dies bereits so implementiert, jedoch habe ich folgendes Problem: In der Originalversion (Sprache Deutsch) funktioniert alles so, wie ich es mir gedacht habe. Schalte ich jedoch auf die englische Sprache um, so kommt es beim Laden der Reportdatei (Tfrxreport.loadfromfile) zu einer Schutzverletzung. Ist jemandem schon einmal ein solches Problem begegnet und hat es gelöst? Für Hilfe wäre ich sehr dankbar. Kompi |
AW: Fastreport und Lokalizierung von Projekten
Wie erfolgt denn die Lokalisierung selber? Sind die Ursprungsreports in der dfm oder ebenfalls als externe Daten hinterlegt?
|
AW: Fastreport und Lokalizierung von Projekten
Die Lokalisierung erfolgt über den Delphi eigenen Weg über den Translationmanager. Es wird eine entsprechende Sprachdatei erzeugt und über einen Eintrag in der Registry die Sprache umgeschaltet.
Da die Programmdatei Auxdrives.exe (Auxdrives deshalb, weil ich mich mit der elektrischen Antriebstechnik, speziell Frequenzumrichter befasse) heißt, so ist der Name der Sprachdatei auxdrives.eng. Kompi |
AW: Fastreport und Lokalizierung von Projekten
Ok, und der zweite Teil der Frage?
Zitat:
|
AW: Fastreport und Lokalizierung von Projekten
Ich dachte, dies ging aus meiner Frage hervor.
Die Reportdateien sinde externe Daten, die ich mittels loadfromfile zunächst lade. Schon beim Laden der externen Reportdateien kommt es zur Schutzverletzung, aber nur, wenn ich auf die englische Sprache umgeschaltet habe. Kompi |
AW: Fastreport und Lokalizierung von Projekten
Läßt sich die AV debuggen?
|
AW: Fastreport und Lokalizierung von Projekten
Nein, leider nicht. Ich besitze nur die Emba Version der Fastreport Komponente.
Kompi |
AW: Fastreport und Lokalizierung von Projekten
Hier noch eine Zusatzinformation:
Wenn ich auf die englische Version umgestellt habe, wird anscheinend die Reportkomponente (Tfrxreport) nicht initialisiert. Die entsprechende Variable ist Nil. Daher die Schutzverletzung. Aber warum wird dann die Komponente nicht initialisiert? Kompi |
AW: Fastreport und Lokalizierung von Projekten
hi,
wie gehst Du vor, wenn die Sprache gewechselt wird. Werden da ggf. die Formulare freigegeben? Wie erzeugst Du die Reportkomponente? selbst oder liegt die auf dem Formular? Grüße |
AW: Fastreport und Lokalizierung von Projekten
Hi
ich stelle die Sprache vor dem Programmstart um. Dazu setze ich in der Registry unter HKCU\Software\Embarcadero\Locales die entsprechenden Sprachenkürzel hinter das Programm. Das funktioniert auch alles wie gewünscht, nur das eben die Reportkomponenten nicht initialisiert werden. Die Komponenten liegen alle auf einem Formular. Kompi |
AW: Fastreport und Lokalizierung von Projekten
Schaltest Du die Sprache dynamisch um, d.h. durch Laden der entsprechenden ENU-Dll über LoadLibraryEx? Woher soll das Formular denn das wissen? Du musst es nach dem Wechsel der Sprache reinitialisieren.
|
AW: Fastreport und Lokalizierung von Projekten
Hi,
wie ich schrieb, schalte ich die Sprache vor dem Programmstart um. Während des Programmlaufs wird nichts dynamisch umgeschaltet. Es funktioniert ja alles wie gewünscht, nur eben dieses eine Formular, auf dem sich die Reportkomponenten befinden, nicht. Mittlerweile bin ich einen Schritt weiter. Es sieht so aus, dass keine der Komponenten, die sich auf dem Formular befinden (z.B. eine Toolbar) erzeugt wird. Ich suche im Moment noch, was die Ursache ist. Kompi |
AW: Fastreport und Lokalizierung von Projekten
Bist Du sicher dass dieses Formular in den Resourcen enthalten ist? Schau Dir mal die ENU Datei mit einem entsprechenden Tool an.
|
AW: Fastreport und Lokalizierung von Projekten
Zitat:
Es ist richtig, das hier vermutlich die Resourcendatei in der ENU fehlt. Soweit ich das weiß, benötigt man die DFM-Dateien, um diese mit der ITE zu lokalisieren/übersetzen. PS: Sofern das Projekt noch nicht zu weit fortgeschritten ist (bezüglich der Übersetzung), würde ich eine andere Lösung favorisieren: Ich habe sehr gute Erfolge mit der ![]() Aber es gibt auch sehr gute (generischere) Freeware-Lösungen. |
AW: Fastreport und Lokalizierung von Projekten
Hallo an alle,
vielen Dank für Eure Hilfe. Es lag an der DFM Datei. Diese war zwar im Sprachenverzeichnis vorhanden, wurde aber, da ich noch an der Form gearbeitet habe und trotz Ausführen des Befehls "Lokalisierte Projekte aktualisieren" nicht aktualisiert. Ein einfaches Kopieren der entsprechenden DFM Datei aus dem Sourceverzeichnis des Projektes in das Sprachenverzeichnis behob den Fehler. Kompi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 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