M
maming
Unregistered / Unconfirmed
GUEST, unregistred user!
我做三层的应用时,在LAN中很好,联接数据库,打开数据表,保存数据都很快,
根本感觉不到慢,几十个客户端也不会有问题。可internet上就问题来,不是程
序出错,而是在联接数据库,打开数据表,保存数据都很慢,客户端在这三种操
作时那界面就象死机,所以产生了以下想法,能不能在上面三种操作时创建一个
线程在后台执行,前面界面不死,当然要控制不能做其它的操作,就显示一个正在(联接,打开,保存)数据的窗口,整个程序还能最小化。甚至还要能通过这个显示的窗口中止当前的操作(联接,打开,保存);
就象在263玩游戏一样,后台的数据处理对前台的界面没有影响。可以各位大
虾早有实现了的,可否贴出来。重金酬谢!我做了数据联接的,可没有实现上面那种效果。
过程如下;
procedure threadconnect(socketconnect:Tsocketconnect);
begin
try
... //这里执行联接数据库和显示系统正在联接远程数据库。
except
end;
end;
procedure threadconnect(clientdataset:Tclientdataset;bopendataset:boolean);
begin
try
if bopendataset
then
...//这里执行打开和显示系统正在打开远程数据表。
else
...//这里执行保存和显示系统正保存数据到远程数据库。
except
end;
end;
这样的话,整个应用程序中都使用这两个过程进行操作,那么这个系统将是多么
有意思,客户用起来也就不会感到死机了。
根本感觉不到慢,几十个客户端也不会有问题。可internet上就问题来,不是程
序出错,而是在联接数据库,打开数据表,保存数据都很慢,客户端在这三种操
作时那界面就象死机,所以产生了以下想法,能不能在上面三种操作时创建一个
线程在后台执行,前面界面不死,当然要控制不能做其它的操作,就显示一个正在(联接,打开,保存)数据的窗口,整个程序还能最小化。甚至还要能通过这个显示的窗口中止当前的操作(联接,打开,保存);
就象在263玩游戏一样,后台的数据处理对前台的界面没有影响。可以各位大
虾早有实现了的,可否贴出来。重金酬谢!我做了数据联接的,可没有实现上面那种效果。
过程如下;
procedure threadconnect(socketconnect:Tsocketconnect);
begin
try
... //这里执行联接数据库和显示系统正在联接远程数据库。
except
end;
end;
procedure threadconnect(clientdataset:Tclientdataset;bopendataset:boolean);
begin
try
if bopendataset
then
...//这里执行打开和显示系统正在打开远程数据表。
else
...//这里执行保存和显示系统正保存数据到远程数据库。
except
end;
end;
这样的话,整个应用程序中都使用这两个过程进行操作,那么这个系统将是多么
有意思,客户用起来也就不会感到死机了。