form2是时间窗体,里面有一个datetimepicker,它关闭时要把时间传递给
form1,form3显示时要获得时间值。假设它们的unit分别为:unit1,unit2,unit3
它们之间怎么传递值?
谢谢!

解决方案 »

  1.   

    想怎么传就怎么传
    放变量里不就完了,
    form1调用form1.datetimepicker.date不就完了
    看你新手份上就不说什么了
      

  2.   

    用USES调用呀。互相调用,再用个全局变量不就得了。
      

  3.   

    能给个具体例子吗?
    全局变量在那个窗体设?在public里?还是VAR后?
    form3怎样获得时间值?
      

  4.   

    全局变量可在任意窗体中定义,然后在其它窗体加入user formX, formY....就可以在任何窗体中使用全局变量了。
      

  5.   

    全局变量最好在主窗体VAR中设。
    在FORM3中调用主窗体uses form1,FORM3就可以直接用那个变量了。
    (好像废话喔?!)
      

  6.   

    你也是刚学DELPHI的吧。加我的QQ咯,以后多多交流!!!!!!!!!!!!!!!!!
    22008456
    还有邮箱[email protected]
    嘻嘻嘻。
      

  7.   

    谁说不可以在PUBLIC中加入全局变量呢?
      

  8.   

    在 PUBLIC 中加入的好象不应该叫全局变量吧。
      

  9.   

    你可以建立一个公共的Unit,在里边定义一个变量,在Form2的关闭事件里,将时间赋给这个变量,然后,在Form1和Form3种就可以直接取得改变量的值了
      

  10.   

    form3用的unit是否要引用form1的unit才能取得这个值吗?
      

  11.   

    所有的变量都是在类中定义的,你引用某个单元只是告诉编译器类的定义在什么地方。全局变量最好不要用,不是一种好的编程习惯。我下面的操作好象有点极端。----------------------------
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
      private
        { Private declarations }
      public
        { Public declarations }
      end;//var
    //  Form1: TForm1;  //这声明的变量我都会将它删除implementation{$R *.dfm}end.-----------------------------
    如form2中要打开form1 则这样写procedure TForm2.Button1Click(Sender: TObject);
    var
      Form1: TForm1;
    begin
      trm  
      form1:=Tform1.Create(Owner);
      form1.showmodal;
      
      if form1.ModalResult =idok then
       //处理
      else
       //处理
      finally   form1.free;
      end;
    end;