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

 
DLL и формы, узкое и больное место... как быть ?, САААААААААААБЖЖЖЖ
Faster
  Отправлено: 28.06.2006, 06:22


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







И так пишется программа в которой множество модулей опционально , тоесть с амый идеальный вариант это просто комплектовать экзешник нужными DLLками, но вот наткнулся на проблему ...

Работая с одной Dll свободно подменяю TApplication TScreen да и всё нормально работает формы все элементы ...

А вот если таких дэллэлок много то например начинаются необъяснимые глюки например на элементе TabSheet лежит две вкладки на одной TListView а на второй кнопочки всякие и прочая лага ...

Прикол если активная вкладка с кнопками то проблемнет , а вот если с виевом то тут начинается бага .. вызывается длл инится окно .. потом процесс начинает жрать тонну рамы и вылетает с ошибкой ... при трассировке она уходит кудато в винду и возвращается в никуда ...

Самое интересное что если активна вкладка с кнопочками то в последствии переключаясь на вкладку виева всё работает ....

Замечу сразу я дошол до ручки из этой ДЛЛ вынул весь код так что он галить не может ...

ТОЕСТЬ МОГЁТ ГАЛИТЬ КОМПОНЕНТ . ?...??.7.. ТАКУЮ ТИОРИЮ Я СЛЫШАЛ НА ДРУГИХ ФОРУМАХ .. НО .. НО НО НОНО Н

я ТАК ЖЕ НАШОЛ ТАКУЮ ИНФОРМАЦИЮ ЧТО борланд ВООБЩЕ ЧЕГОТО НАТУПИЛ С ГЛОБАЛЬНЫМИ ОБЪЕКТАМИ и теперь такие конструкции из кучи ДЛЛ работают хреного ....

вроде бы это исправляется работой с Pakage .... типа там всё так же но об совместимости заботится билдер ????

Это реально или только на VISUAL C перелазить ... я попробовал .. неделю разбирался я в шоке ... там пока сматрячишьпригодный интерфейс можно сдохнуть !!!


Дайте советы рекомендации НАРОД HELP ВАЛИТСЯ ПРОЭКТ !!!!
olegenty
Отправлено: 28.06.2006, 08:29


Ветеран

Группа: Модератор
Сообщений: 2412



правило раз: писать такие приложения БЕЗ влинковки пакетов в EXE и DLL (build with runtime packages) хотя бы совместно используемых пакетов
следствие: если пакет используется более, чем одним модулем, будь то EXE или DLL, со всеми такими модулами пакет должен быть собран динамически

правило два: use dynamic RTL однозначно

это скорее рекомендации, чем правила. если им не следовать, рано или поздно будут грабли, связанные с глобальными объектами типа Application, Screen и многими другими, в том числе незадокументированными.
Faster
Отправлено: 03.07.2006, 05:38


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







smile.gif ты седиь на всех форумах ...
и так точнее на пакетах галочку убираю ана рунтайм библеотеках ставлю ?


так а если мне надо чтобы приложение безинстала запускалось ???? тут то как быть ???
olegenty
Отправлено: 03.07.2006, 06:15


Ветеран

Группа: Модератор
Сообщений: 2412



никак не быть, писать инсталл. это нормально.

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