赞
踩
今天看到一朋友在问技术问题:TField事件赋值问题。问题如下
procedure fieldGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
//text:= MyTextDEncrypt(Sender.AsString, 'xxxxxddddd');
end;
procedure fieldSetText(Sender: TField; const Text: string);
begin
//Sender.AsString:= MyTextDEncrypt(text, 'xxxxxddddd');
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
with ADOQuery1 do
begin
SQL.Text := 'select * from Employees';
Open;
adoquery1.fieldbyname('LastName').ongettext := fieldGetText;
adoquery1.fieldbyname('LastName').onsettext := fieldsetText;
end;
end;
错误在于:把普通方法赋值给事件,因为事件要求必须是类方法。
解决办法:把fieldGetText、fieldsetText声明成类成员方法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。