поместив Indy TIdTCPClient в невизуальный пакет - PullRequest
0 голосов
/ 16 февраля 2010

я все,

Я пытаюсь заставить 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'

Это все работает, если я просто перетаскиваю компонент на форму, добавляются те же строки, что и вручную, в мой компонент (кроме нового), и все это прекрасно компилируется. Я не могу понять это.

Спасибо

1 Ответ

2 голосов
/ 16 февраля 2010

Вы пытались добавить пакет Indy в раздел Требуется, просто добавьте необходимые файлы .bpi из папки lib в пути установки CodeGear.

Вы можете сделать это в меню Проект:

Проект > Добавить в проект ... (Shift + F11) > Требуется > Просмотр ...

Найдите файлы Indy*.bpi в lib \ Debug или lib \ Release и добавьте необходимые к вашему проекту.

...