Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Развертывание 3-х звенн приложения [D7, Windows]


val_5 ©   (2003-10-17 18:02:00) 

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


Nikolay M.   (2003-10-21 09:54:00) [1]

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


val_5   (2003-10-20 23:29:00) [2]

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


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

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


val_5   (2003-10-20 18:53:00) [4]

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


Nikolay M.   (2003-10-20 17:54:00) [5]


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

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


val_5   (2003-10-20 17:09:00) [6]

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


val_5   (2003-10-20 17:04:00) [7]

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


Nikolay M.   (2003-10-19 13:28:00) [8]

Хелп на тему 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-19 12:56:00) [9]

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


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

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


val_5   (2003-10-19 12:13:00) [11]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо