C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
CBuilder5, использование пакетов.
krpav
Отправлено: 19.09.2003, 10:23


Не зарегистрирован







Проблема следующая: есть пакет, в нем объявлен класс
class DataAccess {public CreateQuery (AnsiString &sql, TComponent* AOwner); ...};

После чего пытаюсь юзать этот класс из другого пакета. При линковке (второго пакета) получаю ошибку "unresolved external мой вызываемый метод". Прочитал, что надо использовать PACKAGE, объявил класс
class PACKAGE DataAccess {public CreateQuery (AnsiString &sql, TComponent* AOwner); ...};

В ExecSQL код:

TADOQuery * DataAccess::CreateQuery (AnsiString &sql, TComponent* AOwner)
{
TADOQuery *q = new TADOQuery(AOwner);
InitDataSet (q);
q->SQL->Text = sql;
return q;
}
При линковке (первого пакета) получаю:
[Linker Error] Export ExecSQL(System::AnsiString) in module C:\WORK\PROJECTS\CLIENT\OBJ\DATAACCESS.OBJ references __fastcall Adodb::TADOQuery::ExecSQL() in unit C:\PROGRAM FILES\BORLAND\CBUILDER5\LIB\RELEASE\VCLADO50.BPI|ADODB

Для пакета USEPACKAGE("vclado50.bpi"); установлено. У кого нибудь есть соображения как вылечить это? Танцы с бубном не помогают :-(.

Вернуться в Вопросы программирования в C++Builder