******函数这样返回值有什么错误?(5分)

  • 主题发起人 主题发起人 mxq888
  • 开始时间 开始时间
M

mxq888

Unregistered / Unconfirmed
GUEST, unregistred user!
有这个一个函数:
function GenkDataSL(kjfilename: string): TstringList;//返回一个TstringList
var f: textfile;
begin
result := TstringList.Create;///////////
Table1 := TTable.Create(nil);
Table1.TableName := kjfilename;
Table1.Active := true;
if table1.RecordCount = 0 then exit;
Table1.DisableControls;
Table1.First;
with Table1 do
begin
for j := 0 to RecordCount - 1 do
begin
temp := '';
for i := 0 to FieldCount - 1 do
begin
temp := temp + fields.asstring;
temp := temp + ' ';
end;
result.Add(temp);///此处添加数据,调试时知道此处已加入数据了/////////////
Table1.Next;
end;
Table1.Free;
end;
end;
然后在调用时,我又创建了个Tstringlist:
glzh:=TstringList.Create;
glzh:=GenkDataSL(fname);
i:=0;
i:=glzh.Count; //此时i=6460876,不知为什么?我这样调用不对吗???谢谢
 
glzh:=TstringList.Create;
glzh.Text:=GenkDataSL(fname).Text;
i:=0;
i:=glzh.Count;
 
按你的试了下,把鼠标放到i上显示i=0,放到count上显示为1029正确,这是为什么呢???怪了,为什么两边不相等?
 
此时再往下面执行一句就相等了。你看到的应该是还没有执行这一句代码的结果。。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
915
SUNSTONE的Delphi笔记
S
I
回复
0
查看
584
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部