两个问题请教了:
1、一个Class中的Feild是一个对象,如何获得从外部获得的副本,或者这样的行为就是非法的。
比如:
Ta = class
private
b : TStrings;
public
....
外部程序如何获得b的副本,还是就是不允许的。2、有这样的警告是什么原因导致的,不知道是不是因为继承了TObject,但是destroy函数override的不符合要求。
Method 'Destroy' hides virtual method of base type 'TObject'.
1、一个Class中的Feild是一个对象,如何获得从外部获得的副本,或者这样的行为就是非法的。
比如:
Ta = class
private
b : TStrings;
public
....
外部程序如何获得b的副本,还是就是不允许的。2、有这样的警告是什么原因导致的,不知道是不是因为继承了TObject,但是destroy函数override的不符合要求。
Method 'Destroy' hides virtual method of base type 'TObject'.
解决方案 »
- Twincontrol问题
- delphi基础问题:窗口现实show出错处理?
- 如何得到一个字符串的16进制编码?
- DCOM的问题.(非高手勿进)
- 紧急求教,请各位大虾\高手指点一二,关于如何每天定时备份数据库中的表,使用timer控件
- registerserviceprocess 在哪个dll中?
- fastreport 多个图片问题
- 如何定制多文档窗口子窗口的大小(在线等待……)?
- 如何通过程序获取DLL(全部为ICO,BMP,GIF)文件中的资源文件名称.
- 怎么从文件流或API的文件系统中读取一文本行?
- 菜鸟问题,解决立马给分!字符串第一行信息如何提取?
- TreeView的text可不可以换行?
>>Method 'Destroy' hides virtual method of base type 'TObject'.destructor Destroy override;要加個 override;
比如
Ta = class
private
b : TString;
public
...Tb =Class
private
a : String;
public
procedure copyb;
implementation
procedure copyb;
var
i: integer;
begin
a := b.string[i]; // b可以不用定义,直接使用吗??
end;还是:
procedure copyb;
var
i: integer;
bb: Tb;
begin
a := bb.b.string[i]; // 用这样的方法引用?这样不是破坏了私有性,有没有更好的方法?
end;
同样一个问题,就是如果
a, b: TStrings;a, b之间可以互相拷贝吗
比如 a := b;
在C++中,有copy constructor,delphi中如何应付这样的问题。
如果我的概念有什么不对的地方,请赐教!谢谢!
比如
Ta = class
private
b : TString;
public
...Tb =Class
private
a : String;
public
procedure copyb;
implementation
procedure copyb;
var
i: integer;
begin
a := b.string[i]; // b可以不用定义,直接使用吗??
end;
肯定不行啦
delphi里有持久对象,支持COPY