我正在使用启动时登录表单的应用程序.
在用户编写登录数据之前,我想谨慎地连接到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