有一个这样的例子:form1有一条语句:form2.showmodal;而form2是用户输入密码的界面。我现在要说的是这个form2有很多其他form都要用它!如何判断是哪一个form调用这个form2呀?从而根据不同的情况再执行相应的操作!

解决方案 »

  1.   

    你的这个问题很好。 我的做法是,在form2建立一个集合对像,存放的是所有调用form2的窗体名, 在form2的public下一个全局变量。在form1,或其它窗体调用他的时候,改变这个变量的值。就是了。最后执行相应的操作则根据这个变量来做相应的事了。
      

  2.   

    to:My_first(小@_@小)可否举一个例子!
      

  3.   

    很简单呀,
    你在form2中添加自己的函数如 
    procedure MyShowModal(WhoCallMe:string)
    begin
      // judge who call form2 according to var WhoCallMe
      // then
      ShowModal;
    end;
    在调用form2的showmodal的地方,换成MyShowModal就行了。
      

  4.   

    在form2的
    public
      form_lx:integer; //存放你的lx在implementation
    uses unit1;//在这里定义你的调用窗体单元.在form1的buttonclick事件里写form2:=Tform2.create(application);
    form2.form_lx:=1; //表示form1调用的。
    form2.showmodal;
    在form2的ok按钮里写. case form_lx of
      1:showmessage('form1');
      end;
      

  5.   

    明白My_first(小@_@小)的方法,的确可以.
    也就是做个过程调用,调用时加个参数,根据不同的参数值确定是谁调用了它.