|
Работа с внешним приложением. | ☑ | ||
---|---|---|---|---|
0
Azgerd
25.04.16
✎
09:18
|
8.3 Здравствуйте, столкнулся со следующей проблемой: есть внешнее приложение, кот. считывает вес с весового терминала. Сначала пытался запустить это приложение командой формы:
VarMWP = Новый ComОбъект("mwp.IS.mwp"); Вес = VarMWP.getwes(1); Однако в этом случае приложение не успевает отработать и не передает корректно вес, кроме того при таком запуске не возможно отследить стабилизирован вес весов или нет. Необходимо, чтобы внешнее приложение не закрывалось после отработки команды. Решил инициализировать приложение ПриСозданииНаСервере() и поместить его во временное хранилище: VarMWP = Новый ComОбъект("mwp.IS.mwp"); Структура = Новый Структура("Объект", VarMWP); ХранилищеКомпоненты = ПоместитьВоВременноеХранилище(Структура, Новый УникальныйИдентификатор); Однако в команде формы (при нажатии на кнопку) я уже не вижу переменной ХранилищеКомпоненты и не могу получить объект. Как можно обратиться к объекту из временного хранилища? |
|||
1
Остап Сулейманович
25.04.16
✎
09:34
|
(0) "Решил инициализировать приложение ПриСозданииНаСервере()"
Зачем весы на сервере? Вот это вот счастье VarMWP = Новый ComОбъект("mwp.IS.mwp"); нужно выполнять на клиенте. |
|||
2
Azgerd
25.04.16
✎
09:42
|
(1) так я в начале и запускал VarMWP = Новый ComОбъект("mwp.IS.mwp"); на клиенте (нажатием кнопки), но он же потом убивается, после нажатия, а мне нужно чтобы он работал и я мог постоянно к VarMWP обращаться, причем не запуская приложение несколько раз...
|
|||
3
Остап Сулейманович
25.04.16
✎
09:43
|
(2) "но он же потом убивается" Сделай так, что бы не убивался.
Сделай переменную VarMWP глобальной и не дергай ее каждый раз. |
|||
4
Azgerd
25.04.16
✎
10:01
|
А разве бывают в 8.3 "глобальные переменные"? Вроде говорят что в 8.3 функции глобальных переменных берут на себя либо параметры сеанса либо временное хранилище, вот я и пытаюсь использовать временное хранилище, однако как потом это объект изъять из этого хранилища - здесь я как-то завис... Может есть возможность поместить эту переменную (VarMWP) в реквизит формы? Тогда какой тип выбрать этому реквизиту?
|
|||
5
ДенисЧ
25.04.16
✎
10:03
|
Временное хранилище с ком-объектом дохнет через пару минут
|
|||
6
ДенисЧ
25.04.16
✎
10:03
|
Ищи в приложении метод типа подождатьСтабилизации
|
|||
7
Azgerd
25.04.16
✎
10:09
|
Может можно как-то поместить ком-объект в реквизит формы?
|
|||
8
Wern
25.04.16
✎
10:13
|
(4) Ну вообще то глобальные переменные очень даже есть в 8.3.
Все почти так же как и раньше &НаКлиенте Перем МояПеременная; &НаКлиенте Процедура Команда1(Команда) МояПеременная=11; КонецПроцедуры |
|||
9
Остап Сулейманович
25.04.16
✎
10:14
|
(8) "Экспорт" забыл.
|
|||
10
Wern
25.04.16
✎
10:17
|
(9) ну если он нужен, можно и с экспортом.
|
|||
11
Остап Сулейманович
25.04.16
✎
10:21
|
(10) Ну как бы без Экспорт переменная доживет до завершения кода модуля и умрет. С Экспортом - будет жить как дедушка Ленин - вечно ))).
ЗЫ. Относится к коду модуля приложения. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |