type
  TcheckRepeatForm = class(TForm)
    TntLabel1: TTntLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
我希望的formshow里可以带参数,比如procedure FormShow(Sender: TObject;list:TList);
因为我在上级页面查询出一些数据,然后会创建打开这个页面,在打开页面时我希望把查询结果list给页面传过去,怎么搞呀?

解决方案 »

  1.   

    完全没这个必要,在form定义一些变量,然后写一个public的方法,比如 procedure SetParam(a:integer;b:string);然后你在调用frm.show之前,先执行SetParam吧参数设置好,然后在Formshow中就根据内部的参数去查询就是了
      

  2.   

    我只想在原来的formshow方法上多增加一个参数, 你到好给增加了一个方法,是不是代码多了点,麻烦了点呀
      

  3.   

    这个  楼主的想法有点特别       不过你既然要用TFORM   那就无法实现
      

  4.   

    答案是無法...
    嫌麻煩,可以把list作為全局的,直接訪問...
      

  5.   

    用delphi7 new一个form页面  出来就是一个TForm呀,  你们一般用啥form呢?
    我有2个list要传.
      

  6.   

    目前看来用procedure SetParam(a:integer;b:string);是比较好了,可以把参数注入进去
      

  7.   

    在public处声明变量,就可以直接访问了,form1.变量名
      

  8.   

    procedure FormShow(Sender: TObject);  方法是为了适配方法指针 onshow:TNotifyEvent你改变了参数该事件就不能与onshow匹配如果你想在form show执行什么之类的实在想的话可以考虑重写 customform的DOShow方法
      

  9.   

    楼主对VCL的事件响应理解有问题,这种事件你要加个参数就要改VCL的代码,否则就用bdmh的方法。
      

  10.   

    按楼主的想法只能是重写DOShow。因为procedure FormShow(Sender: TObject)是继承来的。
      

  11.   

    楼主可以用重载试一下
    procedure FormShow(Sender: TObject);overload;
    procedure FormShow(Sender: TObject;a:integer);overload;
      

  12.   

    为啥不重载create方法传参数呢