我要调用个窗体,而且要向这个窗体传递一个参数,我重载了窗体的showmodal函数;
function showmodal(dbName:TDBgrid):integer;overload;
Function TCom_Query.showmodal(dbName:TDBgrid):integer;
begin
......
.....
Result:=Inherited showmodal;
end;
语法可以通过,但是编译不行,说'什么showmodal virsion'没有的什么的?大家给我看以下解决一下;
function showmodal(dbName:TDBgrid):integer;overload;
Function TCom_Query.showmodal(dbName:TDBgrid):integer;
begin
......
.....
Result:=Inherited showmodal;
end;
语法可以通过,但是编译不行,说'什么showmodal virsion'没有的什么的?大家给我看以下解决一下;
解决方案 »
- 有人知道XE2 fireMonkey 下,如何弄出3D图形么?
- 原来还有人连计算器程序都不会写,感觉真爽啊
- 怎么让一个string里面能包含'这样的字符呢
- 图像显示控件TDBImage的用法?--急
- 加急! treeview加载数据库里的数据,速度问题
- 神龙卡播放文件的问题?
- Delphi在DLL中返回多个值求解
- DynArraySetLength 和 TDynArrayTypeInfo 如何理解?
- 请问在Delphi中如何用代码实现将多次Query得到的查询结果添加到一个数据表中?
- 来者有分
- 关于报表预栏的问题..
- shadowfish(<)<-<-<<死鱼<)<-<-<) 来拿分!
编译信息是不是下面的:
[Warning] Unit1.pas(15): Method 'ShowModal' hides virtual method of base type 'TCustomForm'
指的是,ShowModal方法是一个虚方法,在父类TCustomForm中已定义。你这样做是不行的。
编译可以通过,但不会达到你的目的。如果想实现你的想法,可以重构构造方法TForm1 = class(TForm)
...
FDBname: TDBGrid;
constructor CreateNew(AOwner: TComponent; dbName: TDBGrid);
function ShowModal; override;
...
constructor TForm1.Create(AOwner: TComponent: dbName: TDBGrid);
begin
FDBName := DBName;
inherited;
end;TForm1.ShowModal:Integer;
begin
//你来处理 dbName怎样怎样
//DBName....
inherited;
end;
哈哈,说句笑话,别在意。
我用了Override,不行,所以我才Overload的.
To:GoldProgramer()
我去按你说的试一试.再顺便问一下,Showmodal是个虚拟函数,为什么不能Override.
问题已经解决了,谢谢 GoldProgramer() 老兄,以后再向你请教问题,请多多指点一二.