gpt4 book ai didi

Delphi:FireDac 连接阻塞应用程序

转载 作者:行者123 更新时间:2023-12-03 15:32:33 27 4
gpt4 key购买 nike

我正在开发一个在启动时带有登录表单的应用程序。

在用户写入登录数据之前,我想谨慎地连接到 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 的内容,但我没有成功地使其顺利工作。

最佳答案

创建一个新线程,并在其上执行您需要的所有操作,这不会挂起主窗体,并且用户将看不到任何您可以看到类似功能的内容 here

关于Delphi:FireDac 连接阻塞应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24497084/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com