类其实就是一个指针,而传递指针Delphi是不加限制的。CreateForm(类名:XXX); 中的XXX,就是你要创建Form的父Form,用Self(类似C++中的this)指针就可以。

解决方案 »

  1.   

    看了 林 大哥写的我还是不太明白。
    我是想把类如TForm,TButton作为参数传给一个函数,在此函数里创建这些类的实例。
    函数如何声明,如何定义?能否给个例子。
      

  2.   

    类是不行的,类的实例才可以不过比较复杂,你必须判断传入的对象是不是定义的类型,例如
    procedure a(btn:TButton);
    在调用时
    btn1:TButton;
    btn1:=TButton.create(nil);
    a(btn1);
      

  3.   

    So easy.
    procedure sdf(btn: Tbutton);
    begin
      //you can access this object
      result := btn.caption;
      ...
    end;
      

  4.   

    sorry
    ignored it's a procedure! : P
      

  5.   

    procedure Test(Sample: TClientDataSet);
    begin
        Sample.Close;
        Sample.DataRequest('Select * from TableName');
        Sample.Open;  
    end;
      

  6.   

    type
      TComponentClass = class of TComponent;function createform(AClass:TComponentClass): TComponent; 
    begin
      Result := AClass.Create(nil);  
    end;