Simai |
Отправлено: 10.03.2006, 13:43 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 15
|
создаю dll (тут создаю DataModule и формочки).
в приложении подключаю эту dll и вызываю форму(описанную в dll ).
Все работает.
НО. елси я откомпелирую dll — откючая USE Dynamic RTL и Build witch runtime package то приложение начинает рураться
"Exception EClassNotFound in module ....."
Подскажите, плиз что не так
Замечание: в dll создаю DataModule . пока он пустой — все ОК, но как только положить компоненты FibPlus возникае ошибка эта ошибка
Отредактировано Simai — 10/03/2006, 13:51 |
|
olegenty |
Отправлено: 10.03.2006, 16:19 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
лучше всего восприми как аксиому, что при использовании VCL в DLL нужно создавать DLL и EXE с опциями
Build With Runtime Packages, причем не должно быть так, что какой-то пакет c DLL скомпилирован статически, а с EXE — динамически и наоборот. Ну и Use dynamic RTL должно быть активно.
если интересует, почему так — на xportal всё очень приподробно описано.
|
|
spiller |
Отправлено: 11.03.2006, 21:34 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 27
|
QUOTE (olegenty @ 10/03/2006, 16:19) | лучше всего восприми как аксиому, что при использовании VCL в DLL нужно создавать DLL и EXE с опциями
Build With Runtime Packages, причем не должно быть так, что какой-то пакет c DLL скомпилирован статически, а с EXE — динамически и наоборот. Ну и Use dynamic RTL должно быть активно.
если интересует, почему так — на xportal всё очень приподробно описано. |
Объясните пож-та чем отличается динамическая компиляция от статической? Может кинете пару нормальных ссылок где про это грамотно написано?
Спасибо! |
|
olegenty |
Отправлено: 13.03.2006, 07:18 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
Основой такого положения вещей является то, что в VCL есть ряд глобальных экземпляров классов, таких как Application класса TApplication. При статической линковке у EXE и у DLL получается две автономных копии этих глобальных объектов, а при динамической — всё путём, один, как и должно быть. Более подробно всё же на xportal.
|
|