powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
7 сообщений из 7, страница 1 из 1
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
    #37601974
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Краткая диспозиция - есть 40 точек, на которых установлены 40 одинаковых экземпляров некоего приложения в клиент-серверном исполнении: серверная часть на Firebird но здесь это не важно. Заказчик ПО - вышестоящая организация, четко придерживается политики того, что ручное обновление данного приложения на всех этих точках (то есть на каждой нужно запустить update.exe и потом следовать инструкциям мастера, silent-mode не приветствуется) - это единственно верное решение. Я лично сомневаюсь:) Потому как экземпляры одинаковые, даже логи обновления практически байт в байт получаются одинаковые. Но для вышестоящей организации это не довод. Ну да бог с ним.
Я разобрал схему обновления данного ПО - ничего в целом сложного нет: копируются файлы, перезапускаются службы - ПО ни на реестр ни на что не завязано. Но в этом обновлении есть шаг, который у меня пока автоматизировать не получается, а именно: во время обновления вызываются две DLL-ки при помощи которых идет обновление БД: first.dll открывает соединение с базой и возвращает ее некий ID, который потом использует second.DLL для загрузки обновленной схемы в БД, после чего first.dll закрывает соединение с БД. Ни та, ни другая как COM-объекты в системе не регистрируются. Вызов их через rundll32 насколько я понимаю не целесообразен, потому как если вызвать первую через rundll32 после отработки команды соединение тут же закроется. Если есть какой-либо путь для решения данной проблемы с помощью vbscript или jscript или еще как-нибудь очень прошу подсказать. Заранее спасибо.
Орг-решений не предлагать - меня там не слышат: считают что если это будет делать автомат, нафик мы тогда нужны.
...
Рейтинг: 0 / 0
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
    #37601987
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: PyroTechnic
> ...: серверная часть на Firebird ...
> ...идет обновление БД: ...

Генери скрипт обновления, раз у тебя все точки идентичны, и используй
IBEScript.exe для обновления структуры БД. И откажись от двух dll.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
    #37602179
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос> Автор: PyroTechnic
> ...: серверная часть на Firebird ...
> ...идет обновление БД: ...

Генери скрипт обновления, раз у тебя все точки идентичны, и используй
IBEScript.exe для обновления структуры БД. И откажись от двух dll.



я может так бы и поступил - но зачем, если у них уже все придумано - там вторая dll-ка насколько я понял сравнивает схемы данных между БД и даваемой ей на вход схемой в xml и приводит к единому результату (видимо на тот случай, если кто-то мог что-то ручками подвертеть). Затем она еще закачивает в базу blobы - а это я чем качать туда буду? Потом, ты предлагаешь мне на каждое новое обновление свой новый скрипт собирать - дык я повешусь. А тут все просто - уже все заложено в самой программе обновления, только мне нужно это заставить работать по мановению команд скрипта, а не по указанию нажатых кнопок "Далее" и "Готово":)
...
Рейтинг: 0 / 0
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
    #37602325
PyroTechnic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую конкретизировать: Как я могу вызвать какую-либо non-COM DLL из VBScript?
...
Рейтинг: 0 / 0
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
    #37602377
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: PyroTechnic
> Попробую конкретизировать: Как я могу вызвать какую-либо non-COM DLL из VBScript?

Никак. В него(VBScript) специально для этого встроили поддержку вызова СОМ-объектов

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
    #37602504
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос> Попробую конкретизировать: Как я могу вызвать какую-либо non-COM DLL из VBScript?
Никак. В него(VBScript) специально для этого встроили поддержку вызова СОМ-объектов
Почему же "никак"? А DynWrap на что?
http://www.script-coding.com/dynwrap.html
...
Рейтинг: 0 / 0
Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
    #37602844
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: White Owl
> Почему же "никак"? А DynWrap на что?

Прикольно, "все украдено до нас" (с) кто-то

Для ТС, похоже самое то что нужно. Нужно только допроверить валидность хендла соединения с БД.

А как по мне, так проще написать что-то узкоспециализированное.

P.S. Кстати! родилась гениальная идея! VBA может сделать нужный ход лошадью. Можно написать нужный макрос в ворде,
екселе и вызвать его из VBScript'а

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вызов внешних DLL в едином потоке в VBScript (ну или JScript)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]