L
labafa
Unregistered / Unconfirmed
GUEST, unregistred user!
以下是我的一段代码,你们觉得这样写可以吗?
我不清楚为什么T := TStringField.Create(Self);可以使用多次?
每一次都创建了一个instance,但都付给了T.
T被多次付值而不需要free,不是create后都要相应free的吗?,它在procedure结束时会释放吗?
谢谢大家指点。
procedure TForm1.Button2Click(Sender: TObject);
var
; T:Tstringfield;
begin
; if table1<>nil then
; ; table1.Free;
; Table1:=Ttable.Create(self);
; table1.Active :=false;
; table1.Databasename :='dbonline';
; table1.TableName :='tel_base_com';
; datasource1.DataSet :=table1;
; T := TStringField.Create(Self);
; T.FieldName := 'tno';
; T.Name := table1.Name + t.FieldName;
; T.Index := 0;
; T.DataSet := table1;
; T := TStringField.Create(Self);
; T.FieldName := 'name1';
; T.Name := table1.Name + t.FieldName;
; T.Index := 0;
; T.DataSet := table1;
; Table1.FieldDefs.UpDate;
; table1.Active :=true;
end;
我不清楚为什么T := TStringField.Create(Self);可以使用多次?
每一次都创建了一个instance,但都付给了T.
T被多次付值而不需要free,不是create后都要相应free的吗?,它在procedure结束时会释放吗?
谢谢大家指点。
procedure TForm1.Button2Click(Sender: TObject);
var
; T:Tstringfield;
begin
; if table1<>nil then
; ; table1.Free;
; Table1:=Ttable.Create(self);
; table1.Active :=false;
; table1.Databasename :='dbonline';
; table1.TableName :='tel_base_com';
; datasource1.DataSet :=table1;
; T := TStringField.Create(Self);
; T.FieldName := 'tno';
; T.Name := table1.Name + t.FieldName;
; T.Index := 0;
; T.DataSet := table1;
; T := TStringField.Create(Self);
; T.FieldName := 'name1';
; T.Name := table1.Name + t.FieldName;
; T.Index := 0;
; T.DataSet := table1;
; Table1.FieldDefs.UpDate;
; table1.Active :=true;
end;