观念转变一个这个不是VC,Delphi自有它的固有格式,
命名时不分大小写,不过最好这样给控件命名:
Edit_Password;
StringGrid_Show_Result
这样会知道控件的类型,不会找不到名字。

解决方案 »

  1.   

    1.对象还没创建,怎么能调用他的方法,所以只能要类的方法
    2.没有实例化之前,这个标识符并没有指向某段内存地址,实例化以后应该可以看作指针了把
    3.free除了释放对象(destroy)实例以外还释放与其相关的内存,例如一个form的free就释放包括对象所拥有的可视或者不可视的组件,而且如果对象为空,free也可以执行,而destroy就会报错
    4.m_list.items[i].XXX:=..
    5.如果是在一个form上,那么这个form关闭(close)了,这些就自动释放了
    6.命名是随意的(大约必须要字母或者下划线开头),不过T打头是给类名命名的约定,你也可以不遵守,但是你用久了就会发现这种习惯很明了呵呵,我的一点理解
      

  2.   

    哎呀,让你猜中了,俺就是刚才偷偷从VC那边过来的,不过俺可不是嫌VC不好,而是本着“百家争鸣,百花齐放“的崇高理想来观察世界的,嗯,可能过了,好吧好吧,俺的确是因为Delphi在很多地方要比VC省力才学它的。嗯,好吧好吧,Dephi,最~~~好了!开个玩笑,请您再指点。
      

  3.   

    2, Delphi的对象都是对象引用,可以看作是一个指针;
    3,Free等于,if self <> nil then self.Destroy,Delphi里的建议是
    不要直接调用Destroy而是用Free;
    4,对List的元素转换成相应类型,在给属性赋值
      (m_list[i] as TMapControl_Swich).XXX := ...
    5,TList不会自动释放列表里的对象,所以应该逐个释放,再释放List
      for i := 0 to m_list.Count - 1 do
        (m_list[i] as TObject).Free     //因为Destroy是虚方法,所以可以都用TObject类来释放
      m_list.Free;
    6,只要是你创建的,都需要自己来释放。
      form上的控件是个小技巧,在form的destroy中,它先释放了所有的子控件(就是owner是
    它的控件),这样就不用往窗口上拖一个按钮时还要写一句释放它的代码了。自己动态生成的
    控件,如果是这样创建的 XXX.Create(Self),也就是Owner是当前窗口就不用自己Free了。
    这只是TForm类的设计,并不是语言的特性。