首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

idtelnet->sendcmd freeze the form解决办法

2012-03-07 
idtelnet-sendcmd freeze the form我是新手,如果问题太简单,也请大家批评指正啦!我的问题是,idtelnet连接

idtelnet->sendcmd freeze the form
我是新手,如果问题太简单,也请大家批评指正啦!

我的问题是,idtelnet连接到idtcpcmdserver的时候,使用sendcmd会使程序死在哪里,而用sendch则不会:

idTelnet1-> SendCmd(cmd,   -1);   //程序死在这里

//--------------------
char*   s   =   cmd.c_str();
        char*   t   =   s;

        while   (*t   !=   '\n ')   {
                IdTelnet1-> SendCh(*t);     //okay,   没问题。
                t++;
        }

看了看Indy   in   Depth,   SendCmd会调用GetResponse,虽然服务器的回复不会如想象般快地到达。但程序还是会因为SendCmd而死在哪里。
那我应该怎么用SendCmd?把它放到线程里去吗?

[解决办法]
窗体上放一个TIdAntiFreeze试试

另外TIdTelnet里的SendCmd是从TIdTCPConnection里继承来的,也就是说你用这个发给服务器的信息是 "原码 "而不是Telnet协议的信息,so 只能用SendCh.

热点排行