Вниз
Скачать: CL | DM;

Загрузка модулей, которые содержать компоненты DevExpress   Найти похожие ветки 

← →
Сатир   (2007-10-18 16:32) [0]

Есть приложение, которое в режиме рантайма подгружает разные модули(bpl). Если один из bpl-модулей содержит компоненты из пакета DevExpress, при его загрузке выдает сообщение:
---------------------------
Error
---------------------------
A class named TcxRect already exists
---------------------------
OK  
---------------------------
Как с этим бороться и что нужно сделать, чтобы модули нормально загружались?
Заранее благодарен за помощь.


← →
Игорь Шевченко ©   (2007-10-18 16:36) [1]

значит один из пакетов включил в себя пакет от DevExpress и оба вызвали registerclass. перекомпилировать тот, что включил


← →
Сатир   (2007-10-18 17:07) [2]

Этот класс содержится в пакете cxLibraryVCL6.bpl. Его перекомпилил.
Свой модуль тоже перекомпилил, который содержит этот пакет.
Ничего не помогло.
Даже убрал из секции Requires cxLibraryVCL6.dcp и перекомпилил.
Эффект остался тот же самый


← →
Reindeer Moss Eater ©   (2007-10-18 17:12) [3]

Даже убрал из секции Requires cxLibraryVCL6.dcp и перекомпилил.

Убрал из requires - тогда модуль точно будет прикомпилирован к этому пакету.


← →
Сатир   (2007-10-18 17:19) [4]

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


← →
Reindeer Moss Eater ©   (2007-10-18 17:23) [5]

Чудак человек.
Надо чтобы модуль был в одной bpl и не надо дважды делать registerclass


← →
Сатир   (2007-10-18 17:26) [6]


> Надо чтобы модуль был в одной bpl и не надо дважды делать
> registerclass

у меня модуль в одной bpl и я ни разу не делаю RegisterClass


← →
Reindeer Moss Eater ©   (2007-10-18 17:27) [7]

Значит твое сообщение - просто оптический обман.
Игнорируй его.

:)


← →
Reindeer Moss Eater ©   (2007-10-18 17:30) [8]

у меня модуль в одной bpl

А её копий может быть несколько и они могут быть разные. И какая грузится при loadpackage - только винда знает.

и я ни разу не делаю RegisterClass
Значит злые духи делают это вместо тебя.


← →
Сатир   (2007-10-18 17:40) [9]

когда в экзешнике, который загружает этот модуль, указал Build with runtime packages и добавил cxLibraryVCL6, то вылезло другое сообщение
---------------------------
Error
---------------------------
A class named TcxGridLevel already exists
---------------------------
OK  
---------------------------


← →
Reindeer Moss Eater ©   (2007-10-18 17:48) [10]

Если настоящая причина ошибки тебе не нравится и ты в нее не веришь, то попробуй тогда дефрагментировать диск или протереть монитор. Вдруг поможет.


← →
Сатир   (2007-10-18 17:50) [11]

всё, разобрался
надо было включить рантаймовые пакеты девэкспреса в экзешник


← →
Reindeer Moss Eater ©   (2007-10-18 18:04) [12]

Ну естественно. Если модули в uses у exe, а бпл девэкспресса не в списке рантайм пакетов проекта, то модули линкуются в ехе.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.019 c
4-1178892371
Zagaevskiy
2007-05-11 18:06
2007.11.18
Handle иконок рабочего стола


15-1192448141
alshtam
2007-10-15 15:35
2007.11.18
прозрачная шифрация


15-1192348434
KKKL
2007-10-14 11:53
2007.11.18
Zip/UnZip


15-1192177213
KSergey
2007-10-12 12:20
2007.11.18
Планирование системой тработы одного потока в многопроц. системе


4-1178683894
6h
2007-05-09 08:11
2007.11.18
Как определить имя пользователя запустившего приложения?




   Наверх