-
VARPG und Mehrsprachigkeit
Hallo,
ich versuche gerade ein VARPG Programm mehrsprachig zu machen. Ein RPG Programm liefert mir alle notwendigen Daten dazu, die dann per "eval %setatr" gesetzt werden. Mein Problem ist jedoch die Zeit die gebraucht wird um ein Fester umzusetzen(5-10sek). Meine Frage wäre ob es einen besseren Weg gibt, Mehrsprachigkeit umzusetzen als "showwin","visible=0", exsr UMSETZEN, "visible=1". Kann ich das Fenster vtl nur laden ohne das es angezeigt wird? Oder was kann ich tun damit die Umsetzung schneller vonstatten geht?
Gruß Martin
-
Normale Windows-Programme verwenden Ressourcen-DLL's, die die Sprachobjekte beinhalten.
Auch ein Formular (Windows-Fenster) ist ein solches Ressourcen-Objekt. Je nach Sprach-Einstellung wird ganz einfach ein anders Formular, sprich das Sprachformular aus der anderen DLL geladen.
Der Rest stimmt ja wieder.
Der Vorteil ist eben, dass nicht immer das Programm umgewandlet werden muss wenns eine neue Sprache gibt.
Vielleicht kannst du ja auch deine Display-Beschreibung / Formular auslagern ?
-
Zitat von Fuerchau
Normale Windows-Programme verwenden Ressourcen-DLL's, die die Sprachobjekte beinhalten.
Auch ein Formular (Windows-Fenster) ist ein solches Ressourcen-Objekt. Je nach Sprach-Einstellung wird ganz einfach ein anders Formular, sprich das Sprachformular aus der anderen DLL geladen.
Der Rest stimmt ja wieder.
Der Vorteil ist eben, dass nicht immer das Programm umgewandlet werden muss wenns eine neue Sprache gibt.
Vielleicht kannst du ja auch deine Display-Beschreibung / Formular auslagern ?
Hm...Also pro Sprache ein Formular. Der Nachteil wäre jedoch das man die sprachabhängigen Werte im Programm(Editor) setzen müsste, oder?
Und in VARPG hat man doch keine Display Beschreibungen wie bei ILRPG, bzw. in welcher Datei stehen diese Werte?
Was den Vorteil angeht, den habe ich ja auch da die Sprachabhängikeit durch AS400 Dateien abgebildet wird. Die Sprache könnte man dann zb. auch über ein Dropdownmenü auswählen.
Gruß Martin
-
Windows ist da eben anders.
Wenn du natürlich für jeden Text des Formulars einen Zugriff auf die AS/400 machen musst, kannst du dir die Dauer zum Öffnen des Formulares ja ausrechnen.
Ausserdem musst du in jedes Porgramm die Routinen für die Sprache einbinden.
Aber egal.
Der schnellste Weg wäre eigentlich dieser:
Auf der AS/400 halt eine Datei mit dem Name des Formulars und Feldes als Key.
Per SQL alle Texte des Formulares in einem Rutsch laden und dann per Select-Verteiler die Texte ins Formular schieben.
In Windows gibt es ein FormLoad-Ereignis, da gehört dann diese Routine hin (onOpen, onLoad o.ä.).
Damit beschränkt sich das Laden ausschließlich auf dieses eine Formular/Satzformat.
Was man sich da alles für Nachteile durch VARPG einhandelt ...
-
Zitat von Fuerchau
Windows ist da eben anders.
Wenn du natürlich für jeden Text des Formulars einen Zugriff auf die AS/400 machen musst, kannst du dir die Dauer zum Öffnen des Formulares ja ausrechnen.
Ausserdem musst du in jedes Porgramm die Routinen für die Sprache einbinden.
Aber egal.
Der schnellste Weg wäre eigentlich dieser:
Auf der AS/400 halt eine Datei mit dem Name des Formulars und Feldes als Key.
Per SQL alle Texte des Formulares in einem Rutsch laden und dann per Select-Verteiler die Texte ins Formular schieben.
In Windows gibt es ein FormLoad-Ereignis, da gehört dann diese Routine hin (onOpen, onLoad o.ä.).
Damit beschränkt sich das Laden ausschließlich auf dieses eine Formular/Satzformat.
Was man sich da alles für Nachteile durch VARPG einhandelt ...
In einem Rutsch laden ist wieder die ein Sache. Ich mache es mit der Methode: pro call ein Satz. Ist eigentlich genauso schnell als wenn ich alles in ein Array lade und das zurückgebe.(Wobei hier wieder das Problem wäre wie groß muss ich dieses definieren?)
Hm das FormLoad hatte ich noch nicht ausprobiert, ich hatte es bisher immer beim showwin(1. Aufruf des Formulars) gemacht.(2. Aufruf ist dann Visible=1)
Ich werde das mit FormLoad einmal ausprobieren. Danke für die Informationen.
Gruß Martin
EDIT:
Formload gibt es nicht als Ereignis. Meinten sie Create oder Active?(Ich mache es zzt im Create)
PHP-Code:
Gültige Ereignisse
Activate Close Create DeActivate Destroy LClickTray Moved RClickTray ReSize ShutDown
Similar Threads
-
By Squall in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 03-11-06, 12:12
-
By Squall in forum NEWSboard Programmierung
Antworten: 23
Letzter Beitrag: 18-10-06, 12:01
-
By hteufl in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 21-08-06, 13:12
-
By Kampi4 in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 24-04-06, 10:54
-
By Spoldo in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 06-05-05, 10:48
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks