Mehrere CodePages in einem Layout

Wir benötigen in unseren Kundenprojekten die Möglichkeit in einem Layout unterschiedliche Zeichensätze zu verwenden.
Bis zur Version 14 war dies auch problemlos möglich, da für jedes einzelne “Feld” CharacterSet und CodePage gesetzt werden konnte. So konnte man in einem Layout, das mit westlichem Zeichesatz arbeitet, ein einheitliches Layout definieren, und durch einfaches Setzen der CodePage nur die Spalten mit den Artikelbezeichnungen o.ä. auf kyrillisch, slowenisch, arabisch … setzen.
Ab der Version 15 kann man die CodePage nur noch für das komplette Layout setzen, und nicht mehr auf “Feldebene”. Damit bekommt man zwar problemlos Artikelbezeichnungen in einer anderen CodePage dargestellt, aber in den Feldern mit deutschsprachigem Inhalt werden die Zeichen mit einem ASCII-Wert > 127 (Umlaute, ß, §, ©, ®, µ …) auch in den entsprechenden Zeichensatz umgesetzt.

Hat jemand eine Lösung für dieses Problem?

Wir nutzen das API-Interface unter VB6!

Vielen Dank im Voraus
Jörg Wendisch

Hallo Wendisch,

vielen Dank für Ihren Beitrag.

Um dieses Verhalten zu umgehen kommen mehrere Varianten in Frage:

a) Die Verwendung der W-API anstatt der A-API

Dies hat jedoch den Nachteil, dass es einen höheren Aufwand mit sich bringt, da die LL BAS-Datei die A-API verwendet. Hier sollten allerdings nur wenige Stellen (DefineField/Variable) angepasst werden müssen.

b) Verwendung des Unicode-OCX

c) Ein Mal (wenn die Codepage gleich bleibt), oder vor jedem Aufruf DefineField/DefineVariable/… die entsprechende Codepage über LL_OPTION_CODEPAGE setzen.

Mit freundlichen Grüßen

Christian Rauchfuß
Technischer Support
combit GmbH