0

我所有,

我试图让 TIdTCPClient 在我的非可视组件中运行。我将以下内容添加到我的 .h 文件中:

#include "IdBaseComponent.hpp"
#include "IdComponent.hpp"
#include "IdTCPClient.hpp"
#include "IdTCPConnection.hpp"
...
private:
   TIdTCPClient *mTCPClient;

这一切都编译得很好,但当然 Indy 还没有包含在构建中。

所以我在我的 .cpp 文件中这样做:

#pragma link "IdBaseComponent"
#pragma link "IdComponent"
#pragma link "IdTCPClient"
#pragma link "IdTCPConnection"
...
mTCPClient = new TIdTCPClient( NULL );

在编译期间我得到:

[ILINK32 Error] Fatal: Unable to open file 'IDBASECOMPONENT.OBJ'

如果我只是将组件放到一个表单上,这一切都有效,添加的行与我手动添加到我的组件(新组件除外)中的行相同,并且编译得很好。我想不通。

谢谢

4

1 回答 1

2

您是否尝试过将 Indy 包添加到您的 Requires 部分,只需从 CodeGear 安装路径的 lib 文件夹中添加所需的 .bpi 文件。

您可以通过“项目”菜单执行此操作:

项目>添加到项目... (Shift+F11) >需要>浏览...

Indy*.bpi在 lib\Debug 或 lib\Release 中找到文件并将所需的文件添加到您的项目中。

于 2010-02-16T10:54:50.577 回答