阿
阿曼
Unregistered / Unconfirmed
GUEST, unregistred user!
我在第一个文件中定义了一个类(tb),tb中还有一个类 ta;
接着我在第二个文件中的form1中定义了b:tb。
我在使用b.a.a2时,第一次使用时的值不变,但是第二次使用就变了,变成:“0##0#....”
而且b.a.a3的值也没了,但是b.a.a1却没有变,这是为什么?
一个文件中:
unit UserInf;
interface
uses
SysUtils, Classes, Controls, StdCtrls;
Type Ta = Class
a1:string;
a2:string;
a3:TStringList;
.....
end;
Type Tb = Class
a:Ta;//会议简要;
procedure Init();
end;
implementation
procedure Tb.Init;
begin
if not assigned(a) then a.Create;
a.a1:='111';
a.a2:='111';
end;
end.
第二个文件中:
TForm1 = class(TForm)
...
b:Tb;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
....
b:=Tb.Create;
b.a:=Ta.Create;
b.Init;
.....
end;
....
接着我在第二个文件中的form1中定义了b:tb。
我在使用b.a.a2时,第一次使用时的值不变,但是第二次使用就变了,变成:“0##0#....”
而且b.a.a3的值也没了,但是b.a.a1却没有变,这是为什么?
一个文件中:
unit UserInf;
interface
uses
SysUtils, Classes, Controls, StdCtrls;
Type Ta = Class
a1:string;
a2:string;
a3:TStringList;
.....
end;
Type Tb = Class
a:Ta;//会议简要;
procedure Init();
end;
implementation
procedure Tb.Init;
begin
if not assigned(a) then a.Create;
a.a1:='111';
a.a2:='111';
end;
end.
第二个文件中:
TForm1 = class(TForm)
...
b:Tb;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
....
b:=Tb.Create;
b.a:=Ta.Create;
b.Init;
.....
end;
....