请教对象指针的问题,
1。我自己定义一个myform = Class(Tform),我如何定义一共指针类型
type 
dynForm = ^myForm;
然后把mydynForm: dynForm;作为成员定义在myform类定义中(Pascal应该可以这样
把)2。我如何判断
type 
dynForm = ^myForm;
var
mydynForm: dynForm;
的mydynForm: 每有create

解决方案 »

  1.   

    2。我如何判断
    type 
    dynForm = ^myForm;
    var
    mydynForm: dynForm;
    的mydynForm没有create
      

  2.   

    是不是判断 对象指针有没有引用对象实例啊,看看下面的代码吧,也许能帮你啊 
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      Tmyform = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      myform: Tmyform;implementation{$R *.dfm}procedure Tmyform.Button1Click(Sender: TObject);
    type
    dynForm = ^TmyForm;
    var
      df:dynForm;
    begin
      df:=nil;
      if Assigned(df) then
        ShowMessage('df已引用')
      else
        ShowMessage('df未引用');
      df:=@Self;//引用
      if Assigned(df) then
        ShowMessage('df已引用')
      else
        ShowMessage('df未引用');
      df^.Close();
    end;end.
      

  3.   

    指向对象指针就是一个指向指针的指针
    所以要判断对象是否已创建要用类似下面的方法:if assigned(mydnForm) and assigned(mydynForm^) then  
    //或者 if (mydynForm <> nil) and (mydynForm^ <> nil) then
      

  4.   

    1、通用指针就可以阿,以前讨论过用TList来保存管理多个窗口对象的问题,你可以搜索一下,就能够明白了。
    2、通用指针的话就很明白了,判断是否nil就可以了。