有多个Frame,里面都有相同的stringgrid的初始化,请问怎么把它写成通用过程//////
例如:
frame_input.view_grid.ColWidths[0]:=10;
frame_input.view_grid.Cells[0,0]:='';
frame_input.view_grid.ColWidths[1]:=100;
frame_input.view_grid.Cells[1,0]:='编号';
frame_input.view_grid.ColWidths[2]:=60;
frame_input.view_grid.Cells[2,0]:='姓名';
frame_input.view_grid.ColWidths[3]:=40;
frame_input.view_grid.Cells[3,0]:='性别';
frame_input.view_grid.ColWidths[4]:=40;
frame_input.view_grid.Cells[4,0]:='年龄';
..........还有很多列我想把这样的初始化stringgrid写成一个通用过程,请问要怎么申明过程参数!!
procedure frame_grid_init(frame_input:Tframe;view_grid:Tstringgrid);
为什么这样申明通用过程,通不过???WHY?

解决方案 »

  1.   

    我试了没问题
    在frame上右键add to palette试试
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Db, ADODB, Unit2;type
      TForm1 = class(TForm)
        //ADOQuery1: TADOQuery;
        Button1: TButton;
        Button2: TButton;
        TFrame21: TFrame2;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure p_frame(aFrame:TFrame);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.p_frame(aFrame: TFrame);
    begin
      with aFrame do
      begin
        name := 'qzf';
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      p_frame(TFrame21);
    end;end.
    //Frame
    unit Unit2;interfaceuses 
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      TFrame2 = class(TFrame)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;implementation{$R *.DFM}procedure TFrame2.Button1Click(Sender: TObject);
    begin
      showmessage(self.name);
    end;end.