Как правильно скомпилить проект вместе с dll
есть ProjectGroup (exe-шник + dll)
если в опциях проекта стоит: use dynamyc RTL, build with runtime paсаges (VCL'ы) + Full Debug тогда все работает
если я снимаю все эти опции (т.е. делаю релиз) при вызове dll возникает "Exeption EInvalidCast in module....dll..."
какие опции проекта отвечают за корректную линковку и сборку релиза проекта?
есть ProjectGroup (exe-шник + dll)
если в опциях проекта стоит: use dynamyc RTL, build with runtime paсаges (VCL'ы) + Full Debug тогда все работает
если я снимаю все эти опции (т.е. делаю релиз) при вызове dll возникает "Exeption EInvalidCast in module....dll..."
какие опции проекта отвечают за корректную линковку и сборку релиза проекта?
"use dynamyc RTL, build with runtime paсаges " - никакого отношения не имеют к типу сборки проекта (релиз или дебаг). Эти опции - в частности use dynamyc RTL - как правило не стоит отключать без необходимости, так как далеко не все компоненты при этом корректно работают. Кроме того проверьте что оба проекта компилируются с одинаковыми параметрами.
не хочу за собой такскать borlndmm.dll
все опции обоих проектов абсолютно идентичны
все опции обоих проектов абсолютно идентичны
Ну для начала - эта опция (use dynamyc RTL) отвечает за линковку СС3260.DLL или CC3260MT.DLL - в зависимости используется ли мультипоточность или нет. borlndmm.dll - это общий менеджер памяти - кроме того ты в любом случае будешь его таскать за собой - так что сделай нормальную инсталяшку и не мучайся.
Во вторых - вероятнее всего проблема всетаки не в опциях линковки.
проверил и сравнил все опции обоих проектов, все идентично
проверил и сравнил все опции обоих проектов, все идентично
Какие компоненты используются в длл? При создании длл задавалась поддержка VCL? Многопоточность? Создай в длл специальную функцию для отладки и организуй вывод сообщений - что бы понять что именно вызывает ошибку.
ADOStoredProc1->Parameters->CreateParameter("@ItemLevel", ftInteger, pdInput, 4, 0); ненравится приведение типов (при релизе библиотеки)
при дебаге все нравится
ADOStoredProc1->Parameters->CreateParameter("@ItemLevel", ftInteger, pdInput, 4, 0); ненравится приведение типов (при релизе библиотеки)
при дебаге все нравится
попробуйте оставить галку "use debug lib" и проверить результат.
пришлось создать отдельную TADOStoredProc и с ней работать
т.е.
auto_ptr<TADOStoredProc>ADOStoredProc1 (new TADOStoredProc(NULL));
...
дале по тексту... в принципе она изначально была не нужна как параметр ф-ии, тут я стормозил
ПЫСЫ: к стати, в моем случае опции компиляции проектов друг от друга не зависят...
как будет дальше посмотрим