Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Развертывание 3-х звенн приложения   Найти похожие ветки 

 
val_5 ©   (2003-10-17 18:02) [0]

Подскажите, пожалуйста, как в Delphi7 скомпилировать проекты (тонкий клиент и сервер приложений) чтобы они не использовали midas.dll ? В инете есть статьи как это сделать в Delphi6 - там говорится, что в uses надо добавить Crtl,MidasLib . Но в Delphi7 это не проходит, я пробовал писать uses Crtl,MidasLib,Midas.


 
me   (2003-10-17 19:58) [1]

Отчего же? Лежит себе преспокойно MidasLib.dcu в ..\Delphi7\Lib


 
val_5 ©   (2003-10-19 12:13) [2]

me
 От сервера приложений приходит сообщение "Ошибка при загрузке библиотеки" . Такое впечатление что хотя и написано uses MidasLib - все равно пытается загрузить Midas.dll Я пробовал ставить uses MidasLib в .dpr и в модуль с TRemoteDataModule и в
interface и в implementation.


 
Nikolay M. ©   (2003-10-19 12:22) [3]

А в чем проблема поставлять dll с приложением? Если нужен обязательно один файл - так запихни ее в ресурсы и извлекай на клиенте.


 
val_5 ©   (2003-10-19 12:56) [4]

Nikolay M. ©  
На компе могут быть чьи-то прилож-я со старой midas.dll (написанные на D5/6). Вдруг им станет плохо если я заменю эту dll. Я понимаю что должна быть совместимость снизу вверх, но ...
Вариант - каждое приложение имеет свою midas.dll в своей папке - не пройдет тк midas.dll - это com-сервер, он регистрируется в реестре (со своим путем) при первом запуске приложения


 
Nikolay M. ©   (2003-10-19 13:28) [5]

Хелп на тему Deploying database applications смотрел?

Database applications that use client datasets such as TClientDataSet or TSQLClientDataSet or dataset providers require you to include libmidas.dcu and crtl.dcu (for static linking when providing a standalone executable); if you are packaging your application (with the executable and any needed DLLs), you need to include Midas.dll.

По-моему, это то, что нужно.


 
val_5 ©   (2003-10-20 17:04) [6]

Я нашел причину, почему midas не линкуется статически к серверу приложений. Мой сервер приложений построен на основе TRemoteDataModule (с помощью стандартного визарда в File.New.Other.Multitier.RemoteDataModule). В редакторе type library на вкладке uses включен midas.dll. Таким образом, хотя я и статичеки линкую midaslib.dcu все равно остается ссылка на midas.dll.


 
val_5 ©   (2003-10-20 17:09) [7]

P.S.
Кто нибудь может подсказать как в редакторе type library убрать ссылку на midas.dll и статически прилинковать midaslib.dcu.


 
Nikolay M. ©   (2003-10-20 17:54) [8]


> как в редакторе type library убрать ссылку на midas.dll
>

Убрать на закладке Техт
importlib("midas.dll");
?


 
val_5 ©   (2003-10-20 18:53) [9]

Nikolay M.
Не помогает. Если удалить midas.dll из type library - становится undeclared IAppServer. Похоже не возможно статически прилинковать midas к серверу приложений (во всяком случае основанному на TRemoteDataModule)


 
Nikolay M. ©   (2003-10-20 21:01) [10]

Хм. На самом деле везде в справке касательно midaslib написано, что требуется либо midaslib.dcu, либо midas.dll.
Имхо, в Serv_TLB в списке uses midas нужно, конечно, оставить. В редакторе tlb снести importlib("midas.dll"). В опциях проекта в packages добавить midaslib.dcu. И попробовать получившееся на пустой машине.
Было бы интересно услышать результаты эксперимента.
Если напрягает общение через конференцию, можно по мылу или аськой... :)


 
val_5 ©   (2003-10-20 23:29) [11]

Nikolay M.
Спасибо за участие, но я на 99.9% утвердился в мысли что это не выполнимо.


 
Nikolay M. ©   (2003-10-21 09:54) [12]

Ну, дело хозяйское :)
Но если так уж хочется не забивать старый СОМ-сервер, то перед регистрацией своей мидас-дллки можно читать параметры старого (если он есть) сервера, а перед закрытием программы восстанавливать. Хотя, имхо, все должно быть нормально и без этих заморочек.



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

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.035 c
14-1100261649
Кирилл
2004-11-12 15:14
2004.11.28
Приложение и система


1-1100245406
Frozzen
2004-11-12 10:43
2004.11.28
Как правельно объявить массив цветов?


14-1099995175
Pentium133
2004-11-09 13:12
2004.11.28
TList и Record


6-1095318349
maxistent
2004-09-16 11:05
2004.11.28
"ТИХАЯ" проверка коннекта


14-1099655916
1008
2004-11-05 14:58
2004.11.28
Где найти нормальный форум для общения?