Hallo,
ich hab schon auch selber danach gegoogelt, aber ich komme nicht dahinter wo der Fehler liegt (vielleicht ist es auch zu banal/ Brett vor dem Kopf):
Was mache ich? Ich leite meine neue Klasse von TEdit ab. Klappt soweit alles. Jetzt will ich aber nur Zahlen und Rechenoperatoren in der Eingabe zulassen; KeyPress überschreiben.
Delphi-Quellcode:
protected
procedure KeyPress(var Key: Char);override;
Klappt soweit.
In der Methode klappt auch:
if not (Key in ['0'..'9','.',',','+','-','*','/',#8, #9, #13, #27, #33, #127]) then Key := #0;
Was nicht klappt, ist den "." oder das "," in den vom System vorgegebenen Dezimalseparator zu ändern.
Delphi-Quellcode:
SepChar := DecimalSeparator;
if Key = ',' and not (Key = SepChar) then Key := SepChar;
if Key = '.' and not (Key = SepChar) then Key := SepChar;
Hier meckert er nun bei der Zuweisung
mit dem Fehler: E2015 Operator ist nicht auf den Operandentyp anwendbar
Dasselbe kommt bei
Key := DecimalSeparator
.
Hat jemand eine Idee?
Grüße!