Hi,

> Ich bekomme hier noch die Kriese :-(

Nicht doch..
 
> Ich habe weiternin mit dem Encoding rumgespielt:
> 
>   dim b as Boolean
>   dim s as string
> 
>   Window1.Title=key
> 
> //####> komischerweise Title.Encodings=nil

Komische Art das zu testen. Warum siehst Du Dir nicht direkt das encoding
von key an?
Bist Du hier im Keydown-event? Hast Du nicht in der anderen Mail gesagt, key
hätte "macintosh" als encoding? Siehst Du Dir das über den remote-Debugger
an?

>   s=Window1.Title.ConvertEncoding(Encodings.UTF8)

Convertencoding von einem nil-encoding aus wird wahrscheinlich nicht
funktionieren...
 
>   s=DefineEncoding(key,Encodings.UTF16 )

Nanu? Jetzt sagst Du auf einmal, key sei in UTF16? Wie kommst Du zu dieser
Annahme?
 
> //####> jetzt hat s immernoch nur ein Byte (ich hätte zwei erwartet)
> aber es ist das richtige Zeichen

Du meinst was Du im debugger siehst sieht aus wie ein "ü", oder?
 
>   s=ConvertEncoding(s,Encodings.UTF8)
> 
> //####> s ist jetzt leer, 0 Bytes länge , Enconig US-ASCII :-(

Weil key nicht in UTF16 war.

>   b=addGray(s)
>   return b
> 
> 
> Was passt an s=ConvertEncoding(s,Encodings.UTF8) nicht? Oder liegt es
> daran, dass s in UTF16 nur ein Byte lang ist?

Nein, Du hast RB gegenüber behauptet, key sei in UTF16, was nicht stimmt.
Ich würde annehmen, im keydown event (reden wir hier über editfields, oder
textfields?) müßte key auch unter Windows bereits in UTF8 sein, kann das
aber gerade nicht testen. Wäre natürlich auch denkbar, dass Dir der remote
debugger falsche encodings vorgaukelt, aber auch daran mag ich nicht so
recht glauben. 

Max



Antwort per Email an