Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Eingabeeinschränkung bei Edit wird ignoriert

  Alt 10. Jun 2009, 15:46
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
  Mit Zitat antworten Zitat