我在1个United里自定义了一个TPipe类
然后我将United添加到工程里
但在另1个United里创建TPipe类的对象时,比如pipe1:TPipe
就出现错误提示:Form1.Pipe1 does not have a corresponding component.Remove the declaration?
请问,这是什么问题,该怎么解决呢?

解决方案 »

  1.   

    var
      pipe1:TPipe;
    begin
      pipe1 := TPipe.Create;
      pipe1......
    end;
      

  2.   

    没有引用   DELPHI里一般第二行里有个USES  
          加上你的类的单元名
      

  3.   

    正解:不要把类写到Form默认的可见性下(也就是最上面,没有任何可见性声明的部分),因为那个部分Form会用来从DFM中读取控件配置,显示到FORM界面上。你这样平白无故地加个TPie上去,肯定就报找不到控件了。你应该把它写到Form的private、protected等其它可见性下。其它一般的类没有这个限制。
      

  4.   

    有道理,放到private或public中声明
      

  5.   


    根据错误提示字面意思是Pipe1找不到对应的组件,也就是说组件没在另1个United定义。
    按楼上两种方案改,应该可行