我在这定义个方法:
type
  TForm13 = class(TForm)
 procedure EnabledDebugPrivilege(const bEnable:Boolean);
然后调用 tForm13.EnabledDebugPrivilege(True);的时候给出[Pascal Error] Unit13.pas(36): E2076 This form of method call only allowed for class methods错误 是啥意思啊不加tform13也是错的谢谢!

解决方案 »

  1.   

    1.不能用tForm13.EnabledDebugPrivilege(True);要用
    Form13.EnabledDebugPrivilege(True);调用
    2.你可这样定义:class procedure EnabledDebugPrivilege(const bEnable:Boolean); 
    这样就可以用:
    tForm13.EnabledDebugPrivilege(True);调用
      

  2.   

    Form13.EnabledDebugPrivilege(True);调用 我就是这么用的 可是[Pascal Error] Unit13.pas(11): E2065 Unsatisfied forward or external declaration: 'TForm13.EnabledDebugPrivilege'
      

  3.   

    procedure EnabledDebugPrivilege(const bEnable:Boolean); 
    有实现代码吗?
      

  4.   

    没有声明成class类型的方法,要通过实例去调用,
    只有声明成class类型的方法,才可以通过类名调用
    LZ可以先创建一个实例,如
    from3 := tform3.create(nil);
    form3.EnabledDebugPrivilege()或者定义EnabledDebugPrivilege时,最前面加个class关键字
    class procedure EnabledDebugPrivilege(const bEnable:Boolean); 
      

  5.   


    肯定是改了interface部分的,没有改实现部分的,检查校验一下