alex4
Зарегистрирован: 02.07.2002 Сообщения: 5
|
Добавлено: Вт Июл 02 2002 02:55 Заголовок сообщения: Использование в пакетах своих общих функций |
|
|
Я учусь.Свои общие функции сведены в модуль COMMON.CPP и используются в разных пакетах, для чего в соотв. модули добавляется COMMON.H. Все хорошо, пока установлен ОДИН пакет, скажем PACK2.BPL. При попытке установить другой, использующий COMMON.H, появляется сообщение “Add pack2. pack2 contains implicit unit(s) Common”, т.е. предлагает добавить в раздел REQUIRES уже установленный PACK2.BPL, добавляет его, перекомпилирует и выдает ошибку “[Linker Error] Unresolved external '__fastcall mBox(System::AnsiString, System::AnsiString, int)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\DATAREPORT\RPM.OBJ” , т.е. не видит реализацию функции из COMMON.CPP, хотя она есть в PACK2.BPL. Добавить COMMON.CPP напрямую в другой пакет тоже не получается – предлагает «Remove common. Unit(s) common were found in required package pack2.» если в требуемых файлах оговорен pack2. Если же убрать pack2 – компилирует нормально, но установить на палитру не получается – говорит, что модуль COMMON уже есть в установленном PACK2. Вот и получается, что я одновременно могу установить только один пакет. Билдер предлагает “The solution is to add the other package to the "requires" clause of the package you are editing, or simply not use the problem units at all.” Первый вариант не получается, а второй меня не устраивает – как мне тогда использовать свои общие функции? |
|