Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Fastreport und Lokalizierung von Projekten (https://www.delphipraxis.net/174680-fastreport-und-lokalizierung-von-projekten.html)

kompi 5. Mai 2013 11:36

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

Union 5. Mai 2013 16:51

AW: Fastreport und Lokalizierung von Projekten
 
Wie erfolgt denn die Lokalisierung selber? Sind die Ursprungsreports in der dfm oder ebenfalls als externe Daten hinterlegt?

kompi 5. Mai 2013 17:06

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

Union 5. Mai 2013 17:39

AW: Fastreport und Lokalizierung von Projekten
 
Ok, und der zweite Teil der Frage?
Zitat:

Zitat von Union (Beitrag 1214220)
Sind die Ursprungsreports in der dfm oder ebenfalls als externe Daten hinterlegt?


kompi 6. Mai 2013 13:42

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

Union 6. Mai 2013 14:22

AW: Fastreport und Lokalizierung von Projekten
 
Läßt sich die AV debuggen?

kompi 6. Mai 2013 15:45

AW: Fastreport und Lokalizierung von Projekten
 
Nein, leider nicht. Ich besitze nur die Emba Version der Fastreport Komponente.

Kompi

kompi 6. Mai 2013 17:51

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

Lemmy 6. Mai 2013 17:59

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

kompi 6. Mai 2013 18:19

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

Union 6. Mai 2013 19:24

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.

kompi 6. Mai 2013 21:41

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

Union 6. Mai 2013 21:43

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.

Furtbichler 7. Mai 2013 06:24

AW: Fastreport und Lokalizierung von Projekten
 
Zitat:

Zitat von Union (Beitrag 1214409)
Bist Du sicher dass dieses Formular in den Resourcen enthalten ist? Schau Dir mal die ENU Datei mit einem entsprechenden Tool an.

Das sollte mit Bordmitteln gehen: Die ENU ist ja nur eine (Resourcen-) DLL, die als Delphi-Projekt angelegt ist.

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 SILang-Komponentensammlung erzielt. Speziell die Möglichkeit, das die Kunden die Anwendung selbst übersetzen und anpassen können, hat mir Tür und Tor geöffnet.

Aber es gibt auch sehr gute (generischere) Freeware-Lösungen.

kompi 7. Mai 2013 18:18

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