Wir verwenden aktuell LL30 über API, programmieren in Progress ABL (die Applikation ist mit Progress Version 9 enstanden, läuft aber mittlerweile unter Verison 12), deshalb übergeben wir die Daten auf diese “legacy” Art
RUN LLDefineField (OUTPUT nRet, hJob, “feld1”, feld1).
RUN LLDefinefieldExt (OUTPUT nRet, hJob, “feld2”, string(feld2), {&LL_NUMERIC}, 0).
um PDFs zu erzeugen. Im Bericht sind die Felder auf Arial, Zeichensatz “westlich” eingestellt.
Intern haben wir bisher mit ANSI-Zeichensatz gearbeitet. Wir wollen aber die Applikation in Zukunft komplett auf UTF-8 umstellen - soll heißen, die Strings würden dann nicht mehr ANSI-kodiert, sondern UTF-8-kodiert übergeben.
Habe gefunden, dass man nicht die “A” sondern die “W”-Funktionen aufrufen soll.
Witzig, da in der von Combit bereitgestellten Progress-Include-Datei für die API die Einsprungpunkte mit der Ordinal und nicht dem Namen definiert werden, in der Art
PROCEDURE LlDefineField EXTERNAL “CMLL30.dll” ORDINAL 18:
Hier endlich meine Fragen:
Wenn ich jetzt mit dem Dependency Walker die entsprechenden …W-Ordinals rausfinde und in der Include ändere, klappt das dann schon oder muss ich noch mehr umstellen?
Wird überhaupt die Kodierung “UTF-8” erkannt oder muss es “UTF-16” sein? (es wird in der Doku (wenn überhaupt) nur von “UNICODE” gesprochen)
Muss ich im Bericht etwas umstellen (ist ja “westlich” als Zeichensatz drin) und wenn ja, was?
Fragen über Fragen. Ich hoffe, jemand kann mich erleuchten ![]()