-2
を表示するために失敗した:創造のアプリケーションが実行されるが、時にはこれは、プロジェクトのソースである
Application.Initialize;
Application.MainFormOnTaskbar := False;
Application.ShowMainForm := False;
Application.CreateForm(TMain_Form, Main_Form);
Application.CreateForm(TData_Module, Data_Module);
Application.CreateForm(TForm5, Form5);
Login;
Application.Run;
注文がある: Main_Form、Data_Module、Form5
Uniconnectionのタイムアウトは30秒です。
私はSQL Serverに接続しています。
そして、この私は私のMainFormを中に持っている:
procedure Login;
begin
with TUniConnectDialog.Create(nil) do
try
try
Application.MainForm.Hide;
if not Data_Module.UniConnectDialog1.Execute then
Application.Terminate
else
Application.MainForm.Show
finally
Free;
end;
except
on E : Exception do begin
ShowMessage('Exception class name = '+E.ClassName);
ShowMessage('Exception message = '+E.Message);
end;
end;
end;
そして、まだ、時々私の接続ダイアログが表示するために失敗し、アプリケーションがそれを終了するには、Windowsのタスクマネージャを使用する必要がbackground.Iで静かに を実行します。
私はユーレカを使ってデバッグしようとしましたが、エラーが表示されません。 アプリケーションは実行されますが、表示されません。 これは10件のうち3件で発生する可能性があります。 ここで私は何が間違っているのか把握できません。
編集:
procedure Login;
begin
with Data_Module.UniConnectDialog1.Create(nil) do
try
Application.MainForm.Hide;
if not Data_Module.UniConnectDialog1.Execute then
Application.Terminate
else
Application.MainForm.Show
finally
// Free;
end;
end;
EDIT 2:これはどちらか動作しません。
2つのUniConnectDialogオブジェクトが使用されているようです。それは意図的なのでしょうか?また、あなたは効果的に例外を飲み込んでいるので、私はユーレカがそれをどのように扱うのか分かりません。ShowMessage私はショーをメインフォームの子として隠していると思います。例外ハンドラをコメントアウトし、失敗したかどうかを確認します。私はまた、これがエラーをより明確にするかどうかを確認するためにメインフォームを隠さないようにします。 – Dsm
@Dsm UniConnectDialogは1であるはずです。 – user763539
確かに 'TUniConnectDialog.Create(nil)do'と' 'Data_Module.UniConnectDialog1.Execute then'は2つの異なるインスタンスを参照していますか? –