V
vagabond1998
Unregistered / Unconfirmed
GUEST, unregistred user!
现在编写如下一个函数
procedure SetComboBoxReadOnly(aComboBox : TcomboBox;var bReadOnly : Boolean);
begin
with aComboBoxdo
if bReadOnly then
begin
style := csSimple;
OnKeyPress := TKeyPressEvent(PreventKeyStroke);
end
else
begin
style := csDropDown;
OnKeyPress := nil;
end;
end;
其中PreventKeyStroke是这样定义的:
procedure PreventKeyStroke(Sender :TObject;var Key: Char);
begin
Key := #0;
end;
在编译的时候发生如下错误:incompatible types:method pointer and regular procedure
请问,该如何解决这个问题。就是说,不用派生的方式,该如何改写类的方法。
请回vagabond1998@263.net。谢谢!
procedure SetComboBoxReadOnly(aComboBox : TcomboBox;var bReadOnly : Boolean);
begin
with aComboBoxdo
if bReadOnly then
begin
style := csSimple;
OnKeyPress := TKeyPressEvent(PreventKeyStroke);
end
else
begin
style := csDropDown;
OnKeyPress := nil;
end;
end;
其中PreventKeyStroke是这样定义的:
procedure PreventKeyStroke(Sender :TObject;var Key: Char);
begin
Key := #0;
end;
在编译的时候发生如下错误:incompatible types:method pointer and regular procedure
请问,该如何解决这个问题。就是说,不用派生的方式,该如何改写类的方法。
请回vagabond1998@263.net。谢谢!