Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Повторно открыть приложение / 21 сообщений из 21, страница 1 из 1
09.11.2021, 11:05
    #40110232
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Код: vbnet
1.
Set ca = CreateObject("CATIA.Application")


Запускаю приложение, если оно не открыто
Если оно уже открыто - цепляется открытый экземпляр.
Надо - если есть открытый экземпляр приложения - запустить еще один, что бы работать в нем.
Проверить есть ли открытый экземпляр могу через Getobject.
А вот открыть повторно не соображу как....
...
Рейтинг: 0 / 0
09.11.2021, 16:13
    #40110362
Прогер_самоучка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Serg197311
Код: vbnet
1.
Set ca = CreateObject("CATIA.Application")



Запускаю приложение, если оно не открыто
Если оно уже открыто - цепляется открытый экземпляр.
Надо - если есть открытый экземпляр приложения - запустить еще один, что бы работать в нем.
Проверить есть ли открытый экземпляр могу через Getobject.
А вот открыть повторно не соображу как....

Может такую конструкцию заюзать ?
Код: vbnet
1.
2.
Set WshShell = CreateObject("WScript.Shell")
Return = WshShell.Run("c:\CATIA.exe", 0, True)
...
Рейтинг: 0 / 0
11.11.2021, 12:18
    #40110983
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Прогер_самоучка

Может такую конструкцию заюзать ?
Код: vbnet
1.
2.
Set WshShell = CreateObject("WScript.Shell")
Return = WshShell.Run("c:\CATIA.exe", 0, True)


Попробовал..... открывается, но виснет нафиг и приложение и Акс...
Может там еще что добавить надо?
...
Рейтинг: 0 / 0
11.11.2021, 12:35
    #40110989
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Блин, при параметре TRUE приложение запускается, но управление в АКС не передается, все так и висит, пока приложение не закроешь. После этого выполнение программы продолжается
При параметре FALSE выполнение программы продолжается, но приложение не успевает открыться, то есть подхватывается старый процесс......
Где б середину то найти? что бы приложение запустилось и управление было обратно в код передано?
...
Рейтинг: 0 / 0
11.11.2021, 14:57
    #40111032
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
...
Рейтинг: 0 / 0
11.11.2021, 18:25
    #40111120
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Serg197311
А вот открыть повторно не соображу как....

Ватсон, сделайте в папке с интерфейсом копию управляющей программы, например CATIA_2 и запускайте её когда нужно любым удобным способом - хоть по ярлыку с рабочего стола, хоть по кнопке из формы в CATIA...
Единственное неудобство - нужно при внесении изменений в CATIA, делать новую копию CATIA_2, но и это можно автоматизировать - при запуске CATIA - убиваем старую версию CATIA_2 и делаем новую...
Естественно предполагается, что база разделенная и мы манипулируем только с управляющей программой...
Ну и естественно CATIA_2 ты сможешь запустить только один раз...
...
Рейтинг: 0 / 0
12.11.2021, 07:19
    #40111196
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Извини - но не смог понять почти ничего....
vmag

Ватсон, сделайте в папке с интерфейсом

Это где? Есть папка где лежит база и есть папка где лежит CATIA.....Или еще где?
vmag
копию управляющей программы, например CATIA_2

Это имеется ввиду exeшник катин? Или еще один экземпляр базы?
vmag
и запускайте её когда нужно любым удобным способом - хоть по ярлыку с рабочего стола, хоть по кнопке из формы в CATIA...

это понял - но нужно запустить именно из Акса, из него же выполнить некоторые действия а потом закрыть новый экземпляр кати

vmag
Единственное неудобство - нужно при внесении изменений в CATIA, делать новую копию CATIA_2, но и это можно автоматизировать - при запуске CATIA - убиваем старую версию CATIA_2 и делаем новую...


Если бы можно было убивать уже открытый экземпляр - вопросов бы не было. Убивать нельзя, он должен остаться открытым

vmag
Естественно предполагается, что база разделенная и мы манипулируем только с управляющей программой...
Ну и естественно CATIA_2 ты сможешь запустить только один раз...

База разделенная....дальше не очень понял..... Холмс))))
...
Рейтинг: 0 / 0
12.11.2021, 10:03
    #40111217
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
...
Рейтинг: 0 / 0
12.11.2021, 10:35
    #40111227
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение

Думаю не поможет... открыт ли экземпляр CATIA или нет я могу определить через getobject
запустить второй могу допустим через wshell.run...
Наверное если в API покопаться поглубже - как-нибудь через hwnd или идентификатор процесса можно определить что второй экземпляр уже открылся...
А вот как его в обработку получить? в виде object нужной структуры?
через get или createobject первый открытый экземпляр подтягивается...
...
Рейтинг: 0 / 0
12.11.2021, 10:54
    #40111234
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Serg197311
Думаю не поможет... открыт ли экземпляр CATIA или нет я могу определить через getobject


ты можешь определить что первая программа открыта визуально (глазами) и в ней нажать кнопку открыть копию этой программы (они рядом лежат)


Serg197311
База разделенная....дальше не очень понял..... Холмс))))
...
Рейтинг: 0 / 0
12.11.2021, 10:57
    #40111236
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
vmag

ты можешь определить что первая программа открыта визуально (глазами) и в ней нажать кнопку открыть копию этой программы (они рядом лежат)

Ну могу и так... вопрос вот в чем
"А вот как его в обработку получить? в виде object нужной структуры?
через get или createobject первый открытый экземпляр подтягивается..."
...
Рейтинг: 0 / 0
12.11.2021, 11:02
    #40111238
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Serg197311
"А вот как его в обработку получить? в виде object нужной структуры?


а с какой целью ?
мы там (во втором экземпляре) разве не собираемся работать с клавиатурой, кнопки нажимать ?
...
Рейтинг: 0 / 0
12.11.2021, 11:50
    #40111253
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
vmag
Serg197311
"А вот как его в обработку получить? в виде object нужной структуры?


а с какой целью ?
мы там (во втором экземпляре) разве не собираемся работать с клавиатурой, кнопки нажимать ?

нет,не собираемся. Все что надо сделать - выполнит код из Акса.
...
Рейтинг: 0 / 0
12.11.2021, 11:57
    #40111257
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Serg197311,

наверно долгоиграющий ?
может его тупо запустить тут же только с DoEvents()
???
ну или копию настроить так, чтобы при старте отработал код и и она завершилась...
...
Рейтинг: 0 / 0
12.11.2021, 12:50
    #40111273
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
vmag
Serg197311,

наверно долгоиграющий ?

Не понял

vmag
может его тупо запустить тут же только с DoEvents()
???
ну или копию настроить так, чтобы при старте отработал код и и она завершилась...

Код - в Аксе,не в Кате
Надо, чтобы Акс запустил второй экземпляр Кати,и в нем выполнил нужные действия(еще раз - действия выполняет код из Акса, не из Кати)
Уже получается все, кроме получения этого второго экземпляра Кати как object, чтобы действия выполнять именно в нем, а не в первом экземпляре.
...
Рейтинг: 0 / 0
12.11.2021, 14:01
    #40111315
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Serg197311,

кто такая катя?
...
Рейтинг: 0 / 0
12.11.2021, 14:37
    #40111350
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Serg197311
Надо, чтобы Акс запустил второй экземпляр Кати,и в нем выполнил нужные действия(еще раз - действия выполняет код из Акса, не из Кати)
перенести этот код в макрос CATIA, не вариант ?
http://catiadoc.free.fr/online/basug_C2/basugbt0101.htm Running Macros Using the CNEXT Command
To start a session and run a macro automatically, run the command like this:

cnext -env CATIA.V5R19.B19 -macro E:\tmp\Mymacro.CATScript
...
Рейтинг: 0 / 0
12.11.2021, 14:50
    #40111359
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
vmag
Serg197311,

кто такая катя?

CATIA
https://ru.wikipedia.org/wiki/CATIA
...
Рейтинг: 0 / 0
12.11.2021, 14:53
    #40111361
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
court
перенести этот код в макрос CATIA, не вариант ?

Не-а.... Надо из Акса
Если не найду выхода - буду ловить открытую Катю и сообщать юзеру чтобы он ее сам закрыл( мне из Акса - нельзя,там все не просто, и только юзер может решить, каким образом выходить и какие опции приэтом использовать)
Но не хотелось бы......
...
Рейтинг: 0 / 0
12.11.2021, 15:11
    #40111376
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
Serg197311
Если не найду выхода - буду ловить открытую Катю и сообщать юзеру чтобы он ее сам закрыл
дык, нормальный вариант - "дёшево и сердито" :)

нуу, если очень сильно захочешь заморочиться, то тут - Доступ к нескольким работающим копиям CATIA (VB)
боролись с подобным (получение ссылок на все запущенные CATIA.Application), но там всё "сложно" ))
...
Рейтинг: 0 / 0
12.11.2021, 15:35
    #40111388
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторно открыть приложение
court
, если очень сильно захочешь заморочиться, то тут - Доступ к нескольким работающим копиям CATIA (VB)
боролись с подобным (получение ссылок на все запущенные CATIA.Application), но там всё "сложно" ))

Спасибо!! От же ж блин какая закавыка то выходит.... Думал-как-то попроще можно.....
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Повторно открыть приложение / 21 сообщений из 21, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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