Also wenn ich in dieser Zeile einen Haltepunkt (inherited Keydown(Key, Shift)) mache, stoppt das Programm nur dann dort, wenn ich auch wirklich eine Zahl drücke. Wenn ich etwas anderes drücke scheint er nicht in diesen Zweig zu kommen, was ich ja nicht verstehe. Bei mir ist der Key dann Null und entspricht ja nicht 13 oder 27 (Enter und Escape) trotzdem wird alles im Edit ausgegeben
egal was ich drücke.
Selbst folgende Änderung führt bei mir zu keinem Erfolg:
in der abgeleiteten Komponente
Delphi-Quellcode:
procedure TLabZahlEdit.FEdKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
//* Laut dem Debugger wird das Ändern des Key auf Null ausgeführt und im inherited
//* auch so übergeben. Leider ist noch nicht bekannt, warum der die Keys doch im
//* Edit und im Label angezeigt werden. Die Funktion der
{case FZahlart of
Ganzzahl: if Key in [0..7,9..12,14..26,28..44,46..47,58..255] then Key := 0;
posGanzzahl: if Key in [0..7,9..12,14..26,28..47,58..255] then Key := 0;
Gleitkommazahl: if Key in [0..7,9..12,14..26,28..43,46..47,58..255] then Key := 0;
posGleitkommazahl: if Key in [0..7,9..12,14..26,28..43,45..47,58..255] then Key := 0;
end; }
if Key in [13, 27, 48..58] then inherited KeyDown(Key, Shift);
end;
Ich sehe zwar, dass der Key nicht in die Range passt, trotzdem wird es anscheinend weitergeleitet. Kann es sein dass ich mein Delphi vieleicht mal reparieren oder neu installieren sollte?
2. Account Sero