您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > DELPHI开发 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

DELPHI超级Internet控件集--INDY
2001-04-06· ·WinGerK··yesky

上一页  1 2 3  

  更容易在多线程程序里使用,由于阻塞模式的代码可以放在一起,可以很方便的把这些代码包裹在线程里面来使用,而不象异步模式,需要针对不同的事件,设置不同的处理代码。

  为了兼顾简单可靠和高效,INDY是基于阻塞模式工作的。阻塞模式需要等待任务完成才返回,这样,当主线程里调用阻塞任务运行时,程序不能处理用户界面的消息。INDY提供了一个控件TidAntiFreeze来解决这个问题。只要在你的程序里,简单的填加一个TidAntiFreeze控件到任何地方(随便往FORM上放),不需要写任何代码(最多把超时时间改一下),就可以很好的解决用户界面不响应的问题。

  下面有两段示范代码,可以看出INDY控件的程序代码和其他使用异步模式的Internet控件的程序代码相比,是多么的简洁:

代码一:INDY控件的程序代码(IndyClient代表INDY控件的一般形式)

with IndyClient do begin

Connect;

Try

// 在这里写入你的处理代码

finally

Disconnect;

end;

end;

代码二:其他控件的程序代码(SocketComponent代表一般的Internet控件)

procedure TFormMain.TestOnClick(Sender: TComponent);

begin

with SocketComponent do begin

Connect; try

while not Connected do begin

if IsError then begin

Abort;

end;

Application.ProcessMessages;

OutData := 'Data To send';

while length(OutData) > 0 do begin

Application.ProcessMessages;

end;

finally Disconnect; end;

end;

end;

procedure TFormMain.OnConnectError;

begin

IsError := True;

end;

procedure TFormMain.OnRead;

var

i: Integer;

begin

i := SocketComponent.Send(OutData);

OutData := Copy(OutData, i + 1, MaxInt);

end;

关于INDY的简单介绍就到这里了,感兴趣的朋友就去下载一个用吧,你一定会喜欢上它的。

上一页  1 2 3  

■ 相关内容
 巧用Delphi制作溅射屏幕
 开发自己的英文语音朗读软件
 小商品软件的加密方法
 作非常规程序菜单掌握delphi高级秘籍
 Delphi数据压缩处理
 Delphi中用Adsi创建IIS虚拟目录
 自编扫雷程序详解(Delphi版)
 Samba服务器安装全攻略
 利用Delphi扩充VB函数
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!