首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi语法,基础知识给对象赋值的有关问题

2012-03-17 
delphi语法,基础知识给对象赋值的问题定义一个数据集TempCdsPrint:TClientDataSetss:stringtryTempCdsPr

delphi语法,基础知识给对象赋值的问题
定义一个数据集

TempCdsPrint:TClientDataSet;
ss:string;
try
  TempCdsPrint:=TClientDataSet.Create(nil);
  TempCdsPrint :=cds_info;  
finally
  TempCdsPrint.Free;
end;

ss:=cds_info.fieldbyname('xm').asstring;
cds_info也是一个TClientDataSet类型的数据集,当TempCdsPrint.free后,为什么cds_info也没了,怎么样可以保存cds_info不会free掉,因为当执行到ss:=cds_info.fieldbyname('xm').asstring;时报错,没有值了。而把ss:=cds_info.fieldbyname('xm').asstring;这句放到TempCdsPrint.Free释放前,是没有问题的。

[解决办法]
TempCdsPrint:TClientDataSet;
ss:string;
try
TempCdsPrint:=TClientDataSet.Create(nil);
TempCdsPrint :=cds_info;
finally
TempCdsPrint.Free;
end;
其实声明了TempCdsPrint之后,他就是个指针,完全不用Create,然后直接
TempCdsPrint :=cds_info; 

热点排行