procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
   showmessage('adfsdfsdfdfdfdsf');
end;procedure TForm1.Button1Click(Sender: TObject);
begin
   edit1.OnKeyPress(nil,#13);/////@@@@@
end;
问题是为什么@@@@@处总编译不过?也就是说onkeypress(tobject,var char)要怎么样调用?

解决方案 »

  1.   

    注意procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);中的Key是var类型的,要传一个变量,不能传常量:
    procedure TForm1.Button1Click(Sender: TObject);
    var Key: Char;
    begin
      Key := #13;
      edit1.OnKeyPress(nil,Key);
    end;
      

  2.   

    var c:char;
    begin
     c:= #13
     edit1.OnKeyPress(nil,c);
    end;这样试试看。
      

  3.   

    谢谢大家,一言惊醒梦中人,想那时关于这个常量与变量的问题还是学得可以的.想不到又退给老师了>>>>>>>>>>>>>>>>
    发钱了......................................