如何在一个Unit中引用另一个Unit中的变量(同一个工程)?能否为一个工程中的函数统一存放在一个Unit中?如何调用?
Thanks a lot?

解决方案 »

  1.   

    在要用变量的单元引用包含变量的单元。
    如: uses unit2
    你可以将所有函数放在一个单元中,以后要用该函数时只需在声明处引用该单元即可。
      

  2.   

    类似的例子,,
    原理一样:
     在DELPHI的程序开发中,用户登陆窗口的用处非常的大,下面就简单介绍一下这类效果的实现。
      首先new一个新的工程,然后再新建一个是form,进入project菜单,单击其中的option菜单后进入,使form2成为不自动创建(方法为:在auto-create forms中选中form2,然后双击即可,单击ok按钮)。 
      此程序的原理是通过在密码窗体(运行时首先显示此窗体)输入的密码文本是否和主窗体中的edit中的文本一样,如果一样就进入程序,否则退出程序。本文也是在两窗体中传递参数的实例。
      在form1,form2中各加一个eidt控件,然后在form2中加入一个button控件。
      程序源码如下:
    工程文件:
    program Project1;uses
    Forms,
    Unit1 in 'Unit1.pas' {Form1},
    Unit2 in 'Unit2.pas' {Form2};{$R *.RES}begin
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    form2:=tform2.create(application);
    form2.showmodal;
    if (text1<>form1.edit1.text) then
    begin
    application.Terminate;
    end;
    Application.Run;
    end.单元1文件
    unit Unit1;interfaceuses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;type
    TForm1 = class(TForm)
    Edit1: TEdit;
    private
    { Private declarations }
    public
    { Public declarations }
    end;var
    Form1: TForm1;implementation{$R *.DFM}end.
    单元2文件
    unit Unit2;interfaceuses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;type
    TForm2 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;var
    Form2: TForm2;
    text1:string;
    implementation{$R *.DFM}procedure TForm2.Button1Click(Sender: TObject);
    begin
    text1:=form2.edit1.text;
    form2.close;
    end;end.