4

起動時にログインフォームを使用してアプリケーションに取り組んでいます。

ユーザーがログイン データを書き込むまでの間、SQL サーバーに慎重に接続したいと考えています。

問題は、接続が遅いか、サーバーへのパスが間違っている場合、アプリケーションがサーバーを探しているか接続しようとしているときに、アプリケーションが応答しないことです。

接続には、次の手順を使用します。

//-- SQL connect --//
procedure TSql.Connect;
var
  DriverId: String;
  i: Byte;
begin
  try
    Screen.Cursor:=crAppStart;

    //connection DriverName
    DriverId:=Server[FServerType].DriverId;
    FConnection.DriverName:=DriverId;

    //connection Params
    FConnection.Params.Clear;
    FConnection.Params.Add('DriverID='+DriverId); //mandatory
    if FConnString.Count>0 then
       for i := 0 to FConnString.Count-1 do FConnection.Params.Add(FConnString.Strings[i]);

    try
      FConnection.Open;
      FQuery.Connection:=FConnection;
    except
      on E : Exception do ShowError(_('Connection could not be established!'),E);
    end;
  finally
    Screen.Cursor:=crdefault;
  end;
end;

これを行う方法についての提案を手伝ってください。スレッドについて読みましApplication.ProcessMessagesたが、スムーズに機能させることができませんでした。

4

1 に答える 1

2

新しいスレッドを作成し、必要なことをすべて実行します。これにより、メイン フォームがハングせず、ユーザーには何も表示されず、同様の機能がここに表示されます

于 2014-06-30T19:46:10.383 に答える