public
  procedure a(sender:Tobject);
是个公共的过程,别的窗体可以通过form1.a 访问,如果它uses form1至于第一个,是数据form1内部的过程,外部不能访问

解决方案 »

  1.   

    type
      TForm1 = class(TForm)
        procedure a(sender:Tobject);
      public
        procedure b(sender:Tobject);
      end;//相当于
    type
      TForm1 = class(TForm)
      published //支持Objcet Inspector
        procedure a(sender:Tobject); //你可以在如OnClick中选
      public
        procedure b(sender:Tobject);
      end;
      

  2.   

    没指明的是published
    unit 与 h没什么区别,只不过,unit调用的是pas和程序包,h就是h文件。
    现在c#都学着用unit而不用h了,这说明unit的使用方法的确比h好
      

  3.   

    我是菜鸟我偏进。
    published是默认的。
      

  4.   

    NO1!
        说句实在话,至于H和UNIT之间到底有什么区别,不太懂,我只知道它们一个是文件,一个也就是包;
    NO2!
        unit1
    TFForm =class(TForm)
      procedure a(sender:Tobject);
      
      public
      procedure a(sender:Tobject);
    end;
    上边小新都已经说了,一个可以被调用,一个不可以被其它的调用,称之为内核吧
    hehe 关键还是菜鸟,不然,可能说的更多点 ^V^
      

  5.   

      第一个可以把它赋给动态创建控件的事件 如:mycreatebutton.onclick:=a,第二个不可以;
      

  6.   

    这么跟你说吧,.h相当于Unit Interface部分的一些东西,Implemetation部分的,相当于.Cpp文件.当然这个说法不完全正确,但是你可以这样理解.
    至于两个A函数,首先,函数名字不能相同,其次,第一个是属于Published(默认)部分的,第二个属于Pulic部分的,但是,外面的东西都可以使用他们.第三点,tuboo说的有错误,在Published部分的,一般用于事件的处理,但是函数是不可以那样赋值的,必须属性才可以.
      

  7.   

    各位帮个忙,能不能到这里看看:
          http://www.csdn.net/Expert/topic/418/418251.shtm
      谢谢。
      

  8.   

      我觉得可以直接这样赋值: mycreatebutton.onclick:=a (相对于第一个a,mycreatebutton 为动态创建的button).
      

  9.   

    改成如下形式吧:
    TFForm =class(TForm)
      procedure a(sender:Tobject);
      public
      procedure b(sender:Tobject);
    end;
    方法a、b都可以通过TFForm的实例访问,方法a还可以在Object Inspector访问到
      

  10.   

    unit试你要用到的类、函数、过程等的定义与实现单元;
    .h呢是你要用到的类、函数等的定义(声明)部分(头文件),里面也可以有函数等的具体实现过程
      

  11.   

    C++的.H文件里只定义常量、变量、类型、函数声明(Declaration)等,但不能有函数的实现(implementation),但Pascal的unit里面不但可以有常量、变量、类型、函数声明,也可以有函数的实现部分。
    --------------------------
    unit1
    TFForm =class(TForm)
      procedure a(sender:Tobject);
      
      public
      procedure a(sender:Tobject);
    end;
      他们说得对,第1个是Delphi默认的published方法,第2个是public方法。
      我想说的是:如果你要调的方法无Sender参数,在ObjectInspector上是看不到此方法的。