+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

LL14: Unicode-Feld in Singlebyte-Report


(Guest) #1

Hallo NG,
ich habe das Problem, dass ich einen bestehenden Report (Singlebyte) um ein Feld im Unicode-Format erweitern muss.
Ich hatte in erster Näherung das neue Feld mit LlDefineFieldW definiert, aber es werden keine griechischen und polnischen Zeichen angezeigt.
Der Report wird normalerweise mit der VCL-Komponente bearbeitet. Der Aufruf sieht in Delphi 2006 etwa so aus:

with OraQueryVU_Test do
begin
w := FieldByName(‘NTEXT’).AsWideString;
LlDefineFieldW(L14_Test.hLlJob,‘NTEXT’,PWideChar(w));
end;

Die Oracle-Komponente liefert einen WideString mit (auf den ersten Blick) korrekten Unicode-Zeichen.

Die Frage ist nun, was muss ich noch tun, damit ich nicht den kompletten Report (der hat ca. 100 Ebenen!) neu designen muss?
Kann ich prinzipiell ein einzelnes Feld mit Unicode verwenden, oder geht das nur, wenn der komplette Report schon mit Unicode erstellt wurde?

Vielen Dank im Voraus,
Lothar


(Guest) #2

Also wenn Du statt CMLLnn einfach CULLnn benutzt, daß müßte das
“einfach so” gehen.

In der ANSI-LL kannst Du keine verschiedenen Zeichensätze in einem
Feld/Abschnitt haben, aber in der Unicode-DLL. Diese kann auch die
ANSI-Projekte lesen, da hast Du keine Arbeit. Also einfach die
“andere” DLL verwenden. Du benutzt Delphi, also einfach
USE_UNICODE_DLL definieren und neu compilieren. Und diesen einen Text
mit LlDefineFieldW() übergeben.

Paulchen

“Lothar Armbruester” <l.armbruester@vertriebsuni…> wrote in
message news:46eifvgv3h.fsf@vertriebsunion.de

Hallo NG,
ich habe das Problem, dass ich einen bestehenden Report (Singlebyte)
um ein Feld im Unicode-Format erweitern muss.
Ich hatte in erster Näherung das neue Feld mit LlDefineFieldW
definiert, aber es werden keine griechischen und polnischen Zeichen
angezeigt.
Der Report wird normalerweise mit der VCL-Komponente bearbeitet. Der
Aufruf sieht in Delphi 2006 etwa so aus:

with OraQueryVU_Test do
begin
w := FieldByName(‘NTEXT’).AsWideString;
LlDefineFieldW(L14_Test.hLlJob,‘NTEXT’,PWideChar(w));
end;

Die Oracle-Komponente liefert einen WideString mit (auf den ersten
Blick) korrekten Unicode-Zeichen.

Die Frage ist nun, was muss ich noch tun, damit ich nicht den
kompletten Report (der hat ca. 100 Ebenen!) neu designen muss?
Kann ich prinzipiell ein einzelnes Feld mit Unicode verwenden, oder
geht das nur, wenn der komplette Report schon mit Unicode erstellt
wurde?

Vielen Dank im Voraus,
Lothar