请问在写组件时!!
比如:property AAAA:String read bbb write ccc;
ccc是一个procedure 但ccc是在另一个单元的,是不是不可以调用呀??应该怎么样呢?

解决方案 »

  1.   

    好像要放在同一个pas文件中。
    关注~~
      

  2.   

    property AAAA:String read bbb write ccc;
    procedure ccc;procedure ccc;
    begin
      //在这儿调用另一个PAS文件中的函数
    end;
      

  3.   

    那就是说只能在同一个单元中了!那只好在procedure ccc里调用另一个单元了!!!!而不能直接这样了property AAAA:String read bbb write ccc
      

  4.   

    Delphi的封装性决定了这一点,么的办法的!
    建议你研究一下delphi的封装级别!
      

  5.   

    我还是不明白为什么不可以直接调用??请告诉我有关的资料!
    delphi的封装级别?????
      

  6.   

    参考《Object Pascal 精要》和《DelphiLanguageGuide》(此为Delphi自带)中的相关章节!建议楼主要好好学学OP了!
      

  7.   

    很简单,对象的成员方法跟一般的过程是有区别的。要不然怎么会有什么procedure和procedure of object的区别呢。二者的调用规范应该是不同的。个人猜测:对象方法调用时是要考虑对象实例的,而一般过程则不用。如果你想调用另一个单元的方法也很简单。你只要在类方法ccc中调用另一个单元的unit2.ccc就行了。就像你使用Delphi其它的标准函数(Pos,、Copy等等)一样。