我的程序中有这么一行
ps := TCsScript.Create(nil);
其中Ps是在前面定义了的ps: TCs2PascalScript
可是Delphi提示错误
this form of method call only allowed in methods of derived types
这是怎么回事

解决方案 »

  1.   

    --我的程序中有这么一行
    --ps := TCsScript.Create(nil);
    --其中Ps是在前面定义了的ps: TCs2PascalScript
    你的TCs2PascalScript是继承自TCsScript吧,应该TCsScript定义的CREATE只是一个抽象方法,该方法在TCs2PascalScript中进行了OVERRIDE, 所以你应该是
     ps :=TCs2PascalScript.Create(nil);而且如果TCs2PascalScript是继承的TCsSCript,那么你的ps定义为TCs2pascalScript, 并且用TCsScript来创建是有问题的.
      

  2.   

    具体可一看看D的帮助,Ancestors and descendants