小编Héc*_* C.的帖子

使用 TIdTCPClient 异步读取

我\xc2\xb4m是Delphi的新手,我\xc2\xb4m尝试进行一些网络操作。在本例中,我想连接到(让\xc2\xb4s 称之为)通知服务器,该服务器将在发生某些事件时发送字符串。

\n\n

我的第一种方法是这样的:\n我在自己的线程上运行 TIdTCPClient 并设置 ReadTimeout,这样我\xc2\xb4m 就不会总是被阻塞。这样我可以检查线程的终止状态。

\n\n
ConnectionToServer.ReadTimeout := MyTimeOut;\nwhile( Continue ) do\nbegin\n    //\n    try\n        Command := ConnectionToServer.ReadLn( );\n    except\n    on E: EIdReadTimeout do\n        begin\n                //AnotarMensaje(odDepurar, 'Timeout ' + E.Message );\n        end;\n    on E: EIdConnClosedGracefully do\n        begin\n                AnotarMensaje(odDepurar, 'Conexi\xc3\xb3n cerrada ' + E.Message );\n                Continue := false;\n        end;\n    on E: Exception do\n        begin\n                AnotarMensaje(odDepurar, 'Error en lectura ' + E.Message );\n                Continue := false;\n        end;\n    end;\n    // treat the command\n    ExecuteRemoteCommand( Command );    \n    if( self.Terminated ) then\n …
Run Code Online (Sandbox Code Playgroud)

delphi asynchronous indy

4
推荐指数
1
解决办法
3674
查看次数

类型转换运算符未被调用

我试图按照此处显示的内容为对象之间的类型转换做一些示例代码。

这是家长班

// ParentClass.h
class ParentClass {
public:
    ParentClass();
    virtual ~ParentClass();
};
Run Code Online (Sandbox Code Playgroud)

这只是一些概念证明,它唯一要做的就是打印一些东西

#include <iostream>
#include "ParentClass.h"
ParentClass::ParentClass()
{
    std::cout << "Parent\tDefault constructor\n";
}
ParentClass::~ParentClass()
{
    std::cout << "Parent\tDestructor\n";
}
Run Code Online (Sandbox Code Playgroud)

然后,派生类

// ChildClass.h
#include "ParentClass.h"

class ChildClass: public ParentClass {
public:
    ChildClass();
    // conversion constructor
    ChildClass( const ParentClass& p );
    // conversion from assignment
    ChildClass& operator= ( const ParentClass & p );
    // type-cast operator
    operator ParentClass();
    // destructor
    virtual ~ChildClass();
};
Run Code Online (Sandbox Code Playgroud)

然后,代码也很愚蠢

// ChildClass.cpp

#include <iostream>
#include …
Run Code Online (Sandbox Code Playgroud)

c++ typecast-operator c++11 typecasting-operator

1
推荐指数
1
解决办法
181
查看次数