求助... 我现在要求做到....在主窗口启动时先运行一个数据库动态连接的窗口....然后运行登录窗口可是现在我一运行程序时连接窗口还没有设置完,登录窗口就跳出了.....要怎样才能在我的连接窗口设置完之后才跳出登录窗口 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我写在主窗口的show里面....要怎样写呢.... 用两个窗口举例如下:FORM1是主窗体,FORM2是动态生成的登陆窗体(project->options中的forms页面,把form2从左边拖到右边去),form2上面有两个按钮,一个是登陆,一个是取消,对应代码分别如下:form2的代码:unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm2 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);beginModalResult := mrOk;end;procedure TForm2.Button2Click(Sender: TObject);begin ModalResult := mrCancel;end;end.然后在工程文件中,默认为project1.pas,代码如下:program Project1;uses Forms, Controls, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin Application.Initialize; form2 := TForm2.Create(nil); try if form2.ShowModal = mrOk then begin Application.CreateForm(TForm1, Form1); Application.Run; end; finally Form2.Free; end;end.运行,查看效果,会发现程序先出现的是form2,当点击了登陆按钮,可以显示主窗体,否则程序结束。至于你说的数据连接窗口,同样的方法,自己编码控制吧。 能不能说这两个窗口一起显示.....只不过登录窗体在主窗体上方显示,也就是说层叠的,不过得登录了之后才能使主窗体活动form1中代码如下:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin Form2 := TForm2.Create(nil); Form1.Show; try if Form2.ShowModal <> mrOk then Application.Terminate; finally Form2.Free; end;end;end.工程文件的代码如下:program Project2;uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;end.form2的代码如下:unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm2 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);beginModalResult := mrOk;end;procedure TForm2.Button2Click(Sender: TObject);begin ModalResult := mrCancel;end;end. 还是谢谢wudi....我回头再整整 Delphi7有没有能够加载多个图片的集合控件? 区分两种类型的数据 在拖拉Treeview里的信息时,如何让Treeview的滚动条跟着鼠标拖动的方向一起滚动? 一个简单问题 在哪里能找到Win3.1页面下几个控件的源代码? 急!怎样在dbgrid中显示两个字段的乘积? 高手们,如何创建一个登陆用户和他的密码,在2000/nt 下,用什么函数 问几个问题?? 简单的问题,我很菜鸟。 怎样实现合并两个exe文件? 推荐一本适合没有任何delphi基础的人看的书,谢谢! 为什么DBGRID不显数据~~初学DELPHI,大家指教~~
FORM1是主窗体,FORM2是动态生成的登陆窗体(project->options中的forms页面,把form2从左边拖到右边去),form2上面有两个按钮,一个是登陆,一个是取消,对应代码分别如下:
form2的代码:
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
begin
ModalResult := mrOk;
end;procedure TForm2.Button2Click(Sender: TObject);
begin
ModalResult := mrCancel;
end;end.然后在工程文件中,默认为project1.pas,代码如下:
program Project1;uses
Forms,
Controls,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
Application.Initialize;
form2 := TForm2.Create(nil);
try
if form2.ShowModal = mrOk then
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
finally
Form2.Free;
end;
end.
运行,查看效果,会发现程序先出现的是form2,当点击了登陆按钮,可以显示主窗体,否则程序结束。至于你说的数据连接窗口,同样的方法,自己编码控制吧。
form1中代码如下:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
Form2 := TForm2.Create(nil);
Form1.Show;
try
if Form2.ShowModal <> mrOk then
Application.Terminate;
finally
Form2.Free;
end;
end;end.
工程文件的代码如下:
program Project2;uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;
end.
form2的代码如下:
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
begin
ModalResult := mrOk;
end;procedure TForm2.Button2Click(Sender: TObject);
begin
ModalResult := mrCancel;
end;end.