Einzelnen Beitrag anzeigen

einbeliebigername

Registriert seit: 24. Aug 2004
140 Beiträge
 
Delphi XE8 Professional
 
#5

AW: OnKeyDown wird bei Firemonkey 2x ausgeführt

  Alt 20. Jan 2012, 13:42
Hallo,

Ja, mit folgendem unter XE2 Update 3:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    procedure Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
      Shift: TShiftState);
    procedure Edit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    fKeyDownCount: Integer;
    fKeyUpCount: Integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
  Shift: TShiftState);
begin
  Inc(fKeyDownCount);
  Label1.Text:= Format('KeyDownCount= %d; KeyUpCount= %d', [fKeyDownCount, fKeyUpCount]);
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
  Shift: TShiftState);
begin
  Inc(fKeyUpCount);
  Label1.Text:= Format('KeyDownCount= %d; KeyUpCount= %d', [fKeyDownCount, fKeyUpCount]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Text:= Format('KeyDownCount= %d; KeyUpCount= %d', [fKeyDownCount, fKeyUpCount]);
end;
Zählt immer schön bei jedem Tastendruck zwei hoch.
Versuch es mal im OnKeyUp ... ist das dort immernoch so?
Da auch.

Im Update 4 soll ja sehr viel an FireMonkey verbessert worden sein.

Einbeliebigername.
  Mit Zitat antworten Zitat