function TForm1.DoCopyTStrings(A: TStrings): TStrings;
var
I,nCount: Integer;
oCopy: TStrings;
begin
oCopy := TStringList.Create;
nCount := A.Count;
for I := 0 to nCount - 1 do
begin
oCopy.Add(A[I]);
end;
Result := oCopy;
oCopy.Free;
end;
我写了这么一个函数用于复制一个TStrings
在另外一个函数中调用这个函数 oTime := DoCopyTStrings(ArrTime);
ArrTime是一个TStrings,长度是3
oTime的长度就是0
是不是因为执行了oCopy.Free; 如果去掉这句 oTime的长度就是3了 但是会内存溢出啊 求解
var
I,nCount: Integer;
oCopy: TStrings;
begin
oCopy := TStringList.Create;
nCount := A.Count;
for I := 0 to nCount - 1 do
begin
oCopy.Add(A[I]);
end;
Result := oCopy;
oCopy.Free;
end;
我写了这么一个函数用于复制一个TStrings
在另外一个函数中调用这个函数 oTime := DoCopyTStrings(ArrTime);
ArrTime是一个TStrings,长度是3
oTime的长度就是0
是不是因为执行了oCopy.Free; 如果去掉这句 oTime的长度就是3了 但是会内存溢出啊 求解
解决方案 »
- delphi2009中的ADO控件用的是什么版本的ADO驱动呢
- sql bigint 8 除100 且留小数
- 当双击StringGrid中的一条记录,弹出一窗口。但是选中这一行,在StringGrid的其他地方双击同样能够弹出窗口。
- 进来思考的都有分啊!谢谢!
- 当点击一个Button后,出现一个窗体,在窗体中怎么得到此Button的Caption, Name?
- 怎么不让窗口自动弹出
- 关于treeview问题
- 关于msde?
- 请参加工作的进来!!!
- 请教!如何为一个系统托盘图标添加一个鼠标左键单击和双击两个事件!我做好的是用右键打开的程序!
- delphi这两代码怎么错了!
- 关于dxDBGrid的问题
Result := TStringList.Create;
for I := 0 to A.Count - 1 do
begin
Result.Add(A[I]);
end;调用DoCopyTStrings之后释放var
s: TStrings;
begin
s := DoCopyTStrings();
...........
s.Free();
end;
。可以这样定义
Procedure TForm1.DoCopyTStrings(A: TStrings;var B:TStrings); ,外部创建好传入B,
在内部B不要创建,只管复制就好了
a.Assign(b);
或者a.AddStrings(b);
就行了