Maximilian Tyrtania wrote:

ich hab mal kurz reingekuckt. Dein Problem scheint zu sein dass die Zeile

if left(words(i), len(t)) = t then

(in Autocomplete.addgray) in den neueren RB-Versionen ein anderes Resultat
zurückliefert als die älteren (<=RB 5.5), wenn die strings zwar äußerlich
gleich sind, aber das encoding unterschiedlich ist.

Ich habe jetzt einige Versuche angestellt, das Encoding in den Griff zu
bekommen. Irgendwie ist da der Wurm drin.

Im KeyDownEvent ist Key unter Windows im Debugger als Kodierung
macintosh angegeben. Ich habe den Aufruf der Problemroutine (addgray)
daraufhin folgendermaßen (erfolglos) angepasst:
   s=ConvertEncoding(key,Encodings.utf8)
   b=addGray(s)
   return b

Auch
   i=asc(key)
   s=DefineEncoding(chr(i),Encodings.MacRoman)
   s=ConvertEncoding(chr(i),Encodings.utf8)
   b=addGray(s)
   return b

oder
   s=DefineEncoding(key,Encodings.utf8)
   b=addGray(s)
   return b
   
funktioniert nicht.

Kann mir mal jemand auf die Sprünge helfen, wie ich unter Windows ein
eingegebenes Zeichen im KeyDownEvent in UTF-8 erhalte?

MfG, Metti

Antwort per Email an