1.一个procedure套嵌在另一个procedure中(在过程首部和begin之间),前者只能在后者的内部被调用,请问这样的子procedure 有什么意义?一个procedure如何作为另一个参数procedure的参数被传递?2.请问New()和GetMem()两个方法的区别是什么?

解决方案 »

  1.   

    1、就好比private和public的区别,内部的procedure一般就只适用于本procedure,扩大它的生存期范围当然不好。作为另一个procedure的参数的procedure可定义为Tmyobj=procedure(参数) of object.
      

  2.   

    这种子Procedure的意义在于,基本上这个过程是专用的,不能外部使用他,
    而且定义起来比较方便咯
    可以将定义一个过程类型,然后在使用
    例如:TActionEvent = procedure (Action: TBasicAction; var Handled: Boolean) of object;使用FOnExecute: TActionEvent;2。查一下帮助吧,实在不行,搜索一下SourceCode,看看他们的区别咯