Assigned nil Form

 

http://topic.csdn.net/t/20040405/13/2926715.html

 var
  a : TForm2; // 一个随机值, 如果全局变量就是 nil
begin
   { m:=nil;
   if not Assigned(m) then
    ShowMessage('not Assigned')
   else
     ShowMessage('Assigned'); }
   if not Assigned(m) then
   m:=tForm2.Create(nil);
  m.Show;

原因:
局部变量   Form1   编译器初始化的时候不会将Form1设置为nil,而是一个随机值(所以非Nil)
全局变量会置为nil
而你的写法全部是判断是否是nil,所以得到的结果和你想象的不一样

posted on 2010-09-01 16:51  dengdeng  阅读(150)  评论(0编辑  收藏  举报

导航