5,388
社区成员
发帖
与我相关
我的任务
分享
func
var c:a;
begin
c:=a.create(nil);
....
end;
运行时居然报错,好像是a并没有创建成功,不知问题出在哪
另外
c.reate 和 c:=a.create 这两个语法有什么区别呢?
上面都不是正确的语法!
c.reate?这是什么!?没有这样的写法。而且还拼写错误。
c:=a.create;这样写是错误的。因为创建一个动态组件,DELPHI都要求要提供一个组件管理者,管理
动态组件的内存。。。。。。
nil:没有管理者。此时,动态组件的内存就得由程序员来管理了。
一般地这样使用是安全的:
var
sthObj:TObject;
begin
sthobj:=tobject.create(nil);
try
....
finally
sthobj.free;//回收内存
end;
end;