在控件中如何添加新方法?(100)

  • 主题发起人 主题发起人 胡鸣
  • 开始时间 开始时间

胡鸣

Unregistered / Unconfirmed
GUEST, unregistred user!
继承了DBGridEh派生一个新控件,在新控件中定义了一个方法,但调用时找不到自定义方法ADOAdd,请问哪个地方错了?unit mygrid;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, DBGridEh, ExtCtrls, GridsEh,forms;type MyGrid = class(TDBGridEh) private { Private declarations } protected public constructor Create(AOwner: TComponent);override; procedure ADOAdd;//自定义方法 { Public declarations } published end;procedure Register;implementation{$R *.res}constructor MyGrid.Create(AOwner: TComponent);begin inherited Create(AOwner); Invalidate;end;procedure mygrid.ADOAdd;begin//codeend;end.
 
类的名称要以T开头(这个不是问题关键)。你的定义应该没有问题,问题可能是你调用的地方存在问题,不知道是编译的时候提示问题还是实际运行的时候提示有问题。
 
编译正常,调用方式是:窗体中一个mygrid和button控件,在button控件中调用mygrid1.adoadd;调用不成功,找不到这个方法。
 
没有问题啊~~把调用的代码贴出来~~把错误提示也贴出来~~
 
是这样的,我在写mygrid1.adoadd代码时,在mygrid1后面根本不提示adoadd,如果有这个方法,是一定有提示的。
 
procedure TForm1.Button1Click(Sender: TObject);beginmygrid1.adoadd;//输入时提示出错end;
 
你的代码应该没问题。你机器中是不是有多个mygrid.pas文件?文件多了,有可能导致引用的单元不是你正在修改的单元文件,常遇到这种情况。
 
把你的控件重新安装一下或编译一下呢?
 
还是znxia高,有两个pas文件,删除一个搞定了,谢谢各位。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
740
import
I
后退
顶部