老问题:数据库登录窗口,可能很容易!在线等待!!!(100分)

L

lkpc

Unregistered / Unconfirmed
GUEST, unregistred user!
简化例子:
两个form(form1,form2) ,form1是主窗口,在其中放置一个adoconnection,不设定
任何属性,form2作为登录窗口,放置两个按钮,一个为butn1,一个为butn2,
写这两个按钮的代码:
procedure TForm2.Button1Click(Sender: TObject);
begin
form2.ModalResult :=mrok;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
form2.ModalResult:=mrcancel;
end;
工程文件代码如下:
program Project1;

uses
Forms,Controls,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
form2.ShowModal;
if form2.ModalResult=mrcancel then
begin
application.Terminate;
end
else
Application.Run;
end.

上面可以说是最简单的代码了:
运行后如果按钮1被按下,正常!
如果按钮2被按下:则出现错误,请问如何解决这个问题。

 
application.Terminate;
改为
Form1.Close;
试试
 
这样也不行!
 
begin
Application.Initialize;
with TForm1.Create(nil) do
begin
ShowModal;
if ModalResult=mrcancel then
begin
application.Terminate;
end else begin
Application.CreateForm(TForm2, Form2);
Application.Run;
end;
end;
end.
 
用您的这次代码,连OK按钮也出现错误!
 
倒,MAIL?我发个例子好了
 
您的邮件地址是?
您的信息中邮件地址我看不清除!
 
已经发过去了!
 
to lkpc :
按你的一点错误都没有 。我想错误应该不在这里。你在看看是不是别的地方。
按 ysai 的不行的原因我想是你的Connect在Form2中引用。故错误。
 
如果form1中没有adoconnection,(如果已经加上了再删除,USES部分需删除有关单元)
则一切正常!
问题很简单,但很奇怪!
 
我刚才试了一下。如果connect已连接上就OK,是好奇怪。这点我也想不通
晕!
 
我也感到晕!
怎么会这样?
 
没有朋友有这方面的经验吗?
 
高手在哪里?
 
我也遇到过,没办法,我只好在密码不对时,把主界面设置为不可用。
 
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
if form2.ShowModal=mrcancel then application.Terminate;
FreeAndNil(form2);
Application.Run;
//connected先要False;
 
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
if form2.ShowModal=mrcancel then application.Terminate;
Application.Run;
 
多人接受答案了。
 
to lkpc:
怎么这个问题找到是什么原因吗?
 
顶部