主副窗口的显示和变量传递问题(100分)

  • 主题发起人 主题发起人 zero_dot
  • 开始时间 开始时间
Z

zero_dot

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现一个登录窗口loading先执行,然后再执行并显示我的主窗口mainfrm,并且里面的变量怎么传递呢?
如loading里的u_name怎么到mainfrm里呢。谢谢
 
这是工程文件的一段
var
LoginForm: TFrmLogin;
begin
Application.Initialize;
Application.CreateForm(TFrmMain, FrmMain);
LoginForm := TFrmLogin.Create(Application);
if LoginForm.ShowModal = 1 then
//means mrOK
begin
LoginForm.Free;
Application.Run
end
else
begin
LoginForm.Free;
FrmMain.Free;
end;
end.
 
把这个变量在一个公共单元声明就行了。
 
来自:thx1180, 时间:2003-5-18 16:42:00, ID:1872061 | 编辑
program Test;
uses
Forms,
MainForm in 'MainForm.pas' {MainFrm},
Login in 'Login.pas' {LoginFrm};
{$R *.RES}
begin
Application.Initialize;
LoginFrm := TLoginFrm.Create(Application);
if LoginFrm.ShowModal = mrOK then
begin
LoginFrm.Free;
Application.CreateForm(TMainFrm, MainFrm);
Application.Run;
end
else
begin
LoginFrm.Free;
Application.Terminate;
end;
end.


 
我是在主窗体的ONFORMSHOW调用登陆窗口,传递变量有两种方法:
1:公共变量
2:互相引用
 
我在编程过程中遇到这样的问题时会使用这样的方法来解决:
首先在loading窗口中声明一个变量,即u_name变量,存储用户输入的信息,然后在当使用
到u_name里可以在mainfrm窗口的头文件中加入#include <loading.h>,这样可以安全的
使用loading->u_name;这个过程我在看到你的问题后亲手试过,应该不会有什么太大的
问题,不过我是个初学者,所以有不对的地方还请原谅!!
 
把这个变量在一个公共单元中申明,然后再引用就好了。
 
定義一個全局變量,試一下
 
谢谢各位朋友的帮助,我会同大家教的方法试试的
 
我调试了一下,好象不行,可能是我没有懂,我用的是C++ builder啊,没有学过delphi,所以对pascal的语法也不怎么理解。
还有上面的代码是不是在button_ok里写的?工程文件我都不知道怎么下手。
 
是直接在工程文件里写的。
 
后退
顶部