type
TMyDate = class
Month, Day, Year: integer;
procedure SetValue(m, d, y: integer);
function LeapYear: boolean;
end;
-------------------程序1---------------------------
T.procedureA;
begin
Var MyDate: TMyDate;
try
procedureB(var MyDate:TMydate);
finally
MyDate.free;
end;
end;
T.proceudreB(var MyDate:TMydate);
begin
MyDate:=TMydate.create();
......
end;
-------------------程序1----------------------------------------------程序2---------------------------
T.procedureA;
begin
Var MyDate: TMyDate;
MyDate:=TMydate.create();
try
procedureB(var MyDate:TMydate);
finally
MyDate.free;
end;
end;
T.proceudreB(var MyDate:TMydate);
begin
......
end;
-------------------程序2---------------------------请问各位大侠,程序1与程序2的效果是否一样?
程序1中Var MyDate: TMyDate定义有没有分配地址空间?MyDate是否能成功释放?谢谢
TMyDate = class
Month, Day, Year: integer;
procedure SetValue(m, d, y: integer);
function LeapYear: boolean;
end;
-------------------程序1---------------------------
T.procedureA;
begin
Var MyDate: TMyDate;
try
procedureB(var MyDate:TMydate);
finally
MyDate.free;
end;
end;
T.proceudreB(var MyDate:TMydate);
begin
MyDate:=TMydate.create();
......
end;
-------------------程序1----------------------------------------------程序2---------------------------
T.procedureA;
begin
Var MyDate: TMyDate;
MyDate:=TMydate.create();
try
procedureB(var MyDate:TMydate);
finally
MyDate.free;
end;
end;
T.proceudreB(var MyDate:TMydate);
begin
......
end;
-------------------程序2---------------------------请问各位大侠,程序1与程序2的效果是否一样?
程序1中Var MyDate: TMyDate定义有没有分配地址空间?MyDate是否能成功释放?谢谢
这个问题问得不清楚。不明白你的意思。
普通就量定义之后运行时就被初始化,分配变量。