我用BCB动态创建一个按钮时是这样:
TButton *My_Button;
My_Button=new TButton(NULL);
……用DELPHI时,我想是这样
var
 MyButton:^TButton;
begin
 MyButton^:=TButton.Create(nil);
 MyButton^.Top:=200;
 MyButton^.Left:=0;
 MyButton^.Width:=100;
 MyButton^.Height:=50;
出错!将^取掉就好了,
那位能给我讲讲什么时候该用 ^,什么时候不用^

解决方案 »

  1.   

    var  B : ^TButton ;  New(B) ;
      B^ := TButton.Create(Self) ;
      with b^ do
      begin
        Top := 10 ;
        Left := 10 ;
        Height := 10 ;
        Width := 10 ;
        Parent := Self ;
      end ;
      

  2.   

    to:wjlsmail(计算机质子) New(B) ;
    B^ := TButton.Create(Self) ;
    这两句的具体意思?
      

  3.   

    Delphi里面一般基本上可以用用^了,它的对象就是一个指针,.符号就相当于^
      

  4.   

    var
     MyButton:TButton;
    begin
     MyButton:=TButton.Create(nil);
     MyButton.Top:=200;
     MyButton.Left:=0;
     MyButton.Width:=100;
     MyButton.Height:=50;
      

  5.   

    讲讲什么时候该用 ^,什么时候不用^
    BCB中是不能直接定义一个VCL控件的,因为在C++中定义一个对象编译器就会自动调用构造函数,直接定义代价比较高,程序编译效率就会降低。
    DELPHI中编译器行为不同于BCB,只有显式调用CREATE方法才完成了一个对象的构造,所以在DELPHI中可以直接定义一个VCL控件,即使是动态创建的控件也是可以这样定义。
    ^我在DELPHI中用的很少,除非是非得用指针不可,对于动态创建控件不必如此,注意编译器的区别就很好理解了。