我今天在写一个由txt文件导入到sqlserver数据库的时候,使用了一个string数组,
即
var
arrs:array [1..35] of string;在程序运行时,将用到这个字符串数组,但当程序结束时,我发现可用内存少了很多,所以想问一下,关于字符串数组什么时候释放的问题
还有,如果我在程序的末尾加上
for i:=1 to 35 do
arrs[i]:='';
有没有点用处?是不是有点画蛇添足?
即
var
arrs:array [1..35] of string;在程序运行时,将用到这个字符串数组,但当程序结束时,我发现可用内存少了很多,所以想问一下,关于字符串数组什么时候释放的问题
还有,如果我在程序的末尾加上
for i:=1 to 35 do
arrs[i]:='';
有没有点用处?是不是有点画蛇添足?
2. 其实,使用Delphi中有很好用的StringList可以代替字符串数组
var
myList:Strings;
str1:string;
cnt:integer;
begin
myList:=StringList.Create;
myList.LoadFromFile('d:\test01.txt'); //一次读入全部文件,很方便吧
str1:=myList.Strings[0]; //跟字符串数组用法差不多吧
cnt:=myList.Count; //共有多少行字符串
...
myList.Free; //释放,千万别忘了
end;
如果String是全局变量,会在应用程序结束时才释放。
(我也没真正测试过它的真假, 反正书是这样写)。
最后一步好象没用。