D
dyydyy
Unregistered / Unconfirmed
GUEST, unregistred user!
##特提! ABOUT FREE ,这里有段代码,请高手们赐教!(关于FREE过程。)
请大家不要胡扯,好吗?
在RREE过程中我遇到如下的问题:
(1)
*******************************************************************************
interface
...
var form1:tform1;
strstr:tstrings;//strstr在这里定义。
implementation
...
procedure tform1.button1click(sender:tobject);
begin
strstr.free;//strstr 在之前不曾被初始化(没能调用strstr:=tstringlist.create)
end;
*******************************************************************************
以上一段代码不会出现错误。
*******************************************************************************
(2)
*******************************************************************************
interface
...
var form1:tform1;
implementation
...
procedure tform1.button1click(sender:tobject);
var strstr:tstrings;//strstr在这里定义。
begin
strstr.free;//strstr 在之前不曾被初始化(没能调用strstr:=tstringlist.create)
end;
*******************************************************************************
以上一段代码会导致错误。
*******************************************************************************
(3)
*******************************************************************************
interface
...
var form1:tform1;
var strstr:tstrings;//strstr在这里定义。<------------------------
&brvbar;
implementation &brvbar;
或
... &brvbar;
&brvbar;
procedure tform1.button1click(sender:tobject)
&brvbar;
var strstr:tstrings;//strstr在这里定义。<------------------------
begin
strstr.free;//strstr 在之前不曾被初始化(没能调用strstr:=tstringlist.create)
strstr.free;//strstr 再次被free,均会产生错误!the help say:free won't result an error even the object is nil
end;
*******************************************************************************
以上一段代码会导致错误。
strstr 再次被free,均会产生错误!the helper say:free won't result an error even the object is nil,
但是,在第二个free之前,让strstr:=nil,不会有错误!
*******************************************************************************
__请问?________________________________________________________________________
&brvbar
&brvbar;
&brvbar
1.上面错误是如何产生的,为什么会产生错误? &brvbar;
&brvbar
2.SET NIL 能够释放内存吗? 和free有什么区别?有没有别的办法?或者二选一?&brvbar;
&brvbar
3.'{$R *.DFM}'是什么?这些等等的含义是什么?用'{...}'做注释不会有干扰吧? &brvbar;
&brvbar;_______________________________________________________________________________&brvbar;
请大家不要胡扯,好吗?
在RREE过程中我遇到如下的问题:
(1)
*******************************************************************************
interface
...
var form1:tform1;
strstr:tstrings;//strstr在这里定义。
implementation
...
procedure tform1.button1click(sender:tobject);
begin
strstr.free;//strstr 在之前不曾被初始化(没能调用strstr:=tstringlist.create)
end;
*******************************************************************************
以上一段代码不会出现错误。
*******************************************************************************
(2)
*******************************************************************************
interface
...
var form1:tform1;
implementation
...
procedure tform1.button1click(sender:tobject);
var strstr:tstrings;//strstr在这里定义。
begin
strstr.free;//strstr 在之前不曾被初始化(没能调用strstr:=tstringlist.create)
end;
*******************************************************************************
以上一段代码会导致错误。
*******************************************************************************
(3)
*******************************************************************************
interface
...
var form1:tform1;
var strstr:tstrings;//strstr在这里定义。<------------------------
&brvbar;
implementation &brvbar;
或
... &brvbar;
&brvbar;
procedure tform1.button1click(sender:tobject)
&brvbar;
var strstr:tstrings;//strstr在这里定义。<------------------------
begin
strstr.free;//strstr 在之前不曾被初始化(没能调用strstr:=tstringlist.create)
strstr.free;//strstr 再次被free,均会产生错误!the help say:free won't result an error even the object is nil
end;
*******************************************************************************
以上一段代码会导致错误。
strstr 再次被free,均会产生错误!the helper say:free won't result an error even the object is nil,
但是,在第二个free之前,让strstr:=nil,不会有错误!
*******************************************************************************
__请问?________________________________________________________________________
&brvbar
&brvbar;
&brvbar
1.上面错误是如何产生的,为什么会产生错误? &brvbar;
&brvbar
2.SET NIL 能够释放内存吗? 和free有什么区别?有没有别的办法?或者二选一?&brvbar;
&brvbar
3.'{$R *.DFM}'是什么?这些等等的含义是什么?用'{...}'做注释不会有干扰吧? &brvbar;
&brvbar;_______________________________________________________________________________&brvbar;