

源码卡死的解决方法
一、打开源码卡死
1. 源码中的连接数据库的字符串指向的数据库与当前的不符,导致用delphi打开源码时卡死
解决方法:
把源码上的文件按类型排序,复制所有.dfm文件把一个单独的文件夹,批量替换里面的连接字符串为正确的,
例:将
ConnectionString =
'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security In' +
'fo=False;Initial Catalog=RSGL;Data Source=ADMIN;Use Procedure fo' +
'r Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=' +
'ADMIN;Use Encryption for Data=False;Tag with column collation wh' +
'en possible=False'
替换为:
ConnectionString = 'FILE NAME=.\RSGL.udl'
2. 没有安装源码中使用的相关第三方控件导致卡死
解决方法:按相关提示搜索第三方控件安装
二、运行源码导致卡死的处理
1. 循环卡死,加入Application.ProcessMessages;
var
n: Integer;
begin
for n := 0 to 10000 do
begin
Application.ProcessMessages;
Edit1.Text := IntToStr(n);
end;
end;
2. 网络通信卡死,加入TIdAntiFreeze控件
procedure TForm38.Button1Click(Sender: TObject);
begin
IdAntiFreeze1.OnlyWhenIdle:=False;
IdTCPClient1.Host:='192.168.13.89';
IdTCPClient1.Port:=3456;
IdTCPClient1.Connect;
end;
3. 处理大量数据,但对于后续的操作不相干的情况下可以将处理数据交给子线程来做
https://www.delphitop.com/html/chengxu/2505.html