delphi可以通过引用操作对象,指针应该也可以吧(pascal种有)。但是我试了试,总试不知道为什么出错,如:
type
  pTButton := ^TButton;
  ...
var
  pbtn1: pTButton;
implementation
  
  ...
  pbtn1 := Addr(TButton.Create(self));
  pbtn1^.parent := self; 
  ...
  
  //以上所有对 pbtn1^ 的操作在运行时均出现错误,换为以下也不行:
  pbtn1 := Pointer(TButton.Create);
  pbtn1^.parent := self;不知道时什么问题,谢谢大家看看。

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type  pTButton = ^TButton1;
       TButton1=record
         abs : String;
       end;  TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      tt : pTButton;
    begin
    end;end.
      

  2.   


    var
      pbtn1: Pointer;
    implementation
      
      ...
      TButton1:= TButton.Create(self);
      pbtn1:=TButton1;
      TButton(pbtn1).parent := self;
      

  3.   

    这是delphi编译系统的内部定义,对象的调用都是  objectpointer.parent 
    而不是  objectpointer^.parent