Frm:=Frm.Create(self);这是我的自定义单元中一个代码,已在uses中拷贝一个标准单元的uses过来,但编译报错:
[Error] Unit2.pas(33): Undeclared identifier: 'self'
错在哪

解决方案 »

  1.   

    是单独的过程里吧,调用self要是类的成员函数才行。
      

  2.   

    Frm:=Frm.Create(self);这是我的自定义单元中一个代码,已在uses中拷贝一个标准单元的uses过来,但编译报错: 
    [Error] Unit2.pas(33): Undeclared identifier: 'self' 
    错在哪
    ===============================================
    Frm := Frm.Create(...
    起码也该是 Frm := TFrm.Create把。
      

  3.   

    转载http://mydelphi.5d6d.com/thread-66-1-5.html里面的
    Delphi中易混淆的概念-关键词:Owner,Parent,Self,Sender,Clientheight,Height
    Self是指所编的程序范围是在哪一个类中,Delphi中大都在窗体范围内编程,因此,self即指窗体,如果在编写一个类或是一个组件,则self 指该类或组件。我们在函数或过程的声明中可看出self是代表哪个组件,即self代表‘.’号之前的组件,如在第一个例子中,self代表 Tform1。另外应注意,self只能用在类方法中,而不能用在过程或函数中,如下例用法是错的:Function a1(B:Integer):Integer;  Begin  ……  Button:=tbutton.create(self);……  End;
      

  4.   

    你整个过程贴出来.如果不是类成员函数(类.函数) 中调用的话,是没有Self的.