Форум: "Corba";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
ВнизРазвертывание 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 вся ветка
Форум: "Corba";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c