修改Frclass.pas
procedure TfrxDialogControl.DoOnKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
var
v: Variant;
begin
v := VarArrayOf([Integer(Self), Key, ShiftToByte(Shift)]);
if Report <> nil then
Report.DoParamEvent(FOnKeyDown, v);
// Key := v[1];
end;
procedure TfrxDialogControl.DoOnKeyPress(Sender: TObject;
var Key: Char);
var
v: Variant;
begin
v := VarArrayOf([Integer(Self), Key]);
if Report <> nil then
Report.DoParamEvent(FOnKeyPress, v);
{if VarToStr(v[1]) <> '' then
Key := VarToStr(v[1])[1]
else
Key := Chr(0);}
end;
procedure TfrxDialogControl.DoOnKeyUp(Sender: TObject;
var Key: Word;
Shift: TShiftState);
var
v: Variant;
begin
v := VarArrayOf([Integer(Self), Key, ShiftToByte(Shift)]);
if Report <> nil then
Report.DoParamEvent(FOnKeyUp, v);
//Key := v[1];
end;