|
v7: Может ли 1С обрабатывать события COM-обьекта. | ☑ | ||
---|---|---|---|---|
0
sysadminlk
29.08.13
✎
12:12
|
Может ли 1С обрабатывать события COM-обьекта.
Если да, тогда как? Есть примеры? Есть COM объект Device И описание его: Обработчик событий Device::OnProcess Обработчик событий OnProcess получает извещения о произошедших в устройстве события и позволяет выполнить обработку этих событий нужным образом. Как узнать? |
|||
1
palpetrovich
29.08.13
✎
12:18
|
если COM-обьект сделан по "технологии создания внешних компонент"(цы) - да, может!
|
|||
2
Odavid
29.08.13
✎
12:56
|
(1) это когда 1с научилась обрабатывать чужие события? Не умея толком (и количество обрабатываемых событий проще перечислить, чем необрабатыываемых) обрабатывать даже события своих "типообъекты"??
|
|||
3
пипец
29.08.13
✎
13:00
|
(2) интересно а как весовое оборудование работает ? :)))
|
|||
4
Odavid
29.08.13
✎
13:01
|
(3) наверное, все события в 1с обрабатываются?
|
|||
5
пипец
29.08.13
✎
13:02
|
(4) дык (1) и намекал, если его правильно понял
|
|||
6
Odavid
29.08.13
✎
13:02
|
(3) вы отличаете обработку событий от возврата результата (причем даже уверен - понятия не имеете, по какому интерфейсу и как это самое весовое оборудование работает) :)))
|
|||
7
пипец
29.08.13
✎
13:06
|
(6) нинада путать мягкое и соленое ;))), дойдет до пиэльпополам и микроконтроллеров с ассемблером
|
|||
8
Odavid
29.08.13
✎
13:23
|
(7)снова ("галантерейщик и кардинал) "микроконтроллеры и Дельфи! Это звучит!" ?? ))
Тогда не дойдет. |
|||
9
Nexux
29.08.13
✎
13:23
|
ДобавитьОбработчик посмотрите
|
|||
10
Nexux
29.08.13
✎
13:26
|
(9)ой, а у вас v7, тогда низнаю(
|
|||
11
acsent
29.08.13
✎
13:31
|
в 8 может
|
|||
12
ДенисЧ
29.08.13
✎
13:33
|
Опять этот ламер умничает...
|
|||
13
H A D G E H O G s
29.08.13
✎
13:42
|
(12) Одавид? Он - может.
|
|||
14
Odavid
29.08.13
✎
13:51
|
(12) ну-ну, вот и настоящие ламеры пожаловали..
ну что, уже не отличаем обычную функцию от обработки события в любимой восьмерке? Хорошо, объясняю просто: обратную связь от этой так называемой "обработки события" - в COM-объекте получить, не? |
|||
18
ДенисЧ
29.08.13
✎
13:59
|
(16) То есть ты начальник?
|
|||
19
Odavid
29.08.13
✎
14:58
|
(18) был. Пока глаза не намозолил вышестоящим. Они ж отдыхать пришли, а не работать.
А вот вы - сам признался, что начальник. Собственно, я и догадывался. |
|||
20
ДенисЧ
29.08.13
✎
14:59
|
(19) Я? ПРизнался? Когда? Ссылку!
|
|||
21
AaNnDdRrEeYy
29.08.13
✎
15:09
|
(1) а если не сделан, то ничто не мешает сделать для него врапер по технологии внешних компонент.
|
|||
22
Torquader
30.08.13
✎
23:29
|
(21) А ничего, что 1С работает в одном потоке.
И, для многопоточных объектов с обработкой событий мы можем получить только взаимные блокировки. К сведению - ОбработкаВнешнегоСобытия - не обрабатывает события от объектов и внешних компонент - она лишь читает из массива строки с данными, которые обработчики события записали в этот массив. Конечно, это называли Асинхронной обработкой событий, но COM-объекты так работать с событиями не умеют. Есть, конечно, хитрости, позволяющие вызвать процедуры из глобального модуля даже в момент исполнения какого-то другого участка кода, но это уже программирование сюрпризов. |
|||
23
Torquader
30.08.13
✎
23:31
|
А автору быстрее поможет Windows Script Component и реализация обработки события в коде VbScript с выставлением флажка и получением его значения из 1С запросом методов созданного компонента-обёртки.
|
|||
24
бомболюк
30.08.13
✎
23:47
|
(22,23) это че за бред? все было так просто до этого и вдруг...
|
|||
25
Охламон
30.08.13
✎
23:55
|
8.2 Может
|
|||
26
Охламон
30.08.13
✎
23:58
|
В управлении продажей недуувижимости есть пример открытия ворда, последующей работы с вордом, и отлавливания одинесом события закрытия документа с автоматическим затягиванием файла в бд
|
|||
27
Охламон
31.08.13
✎
00:00
|
Все штатным кодом
|
|||
28
бомболюк
31.08.13
✎
00:01
|
(26) можнокусок кода поглядеть, у меня этой конфы нет, а очень интересно?
|
|||
29
Охламон
31.08.13
✎
00:04
|
(28) Не могу сейчас код дать. Там устанавливается событие в коде, потом это событие возвращается в одинес, когда пользователь закрывает окно ворда. Интересно. В Понедельник могу код дать.
|
|||
30
бомболюк
31.08.13
✎
00:07
|
(29) если не забудете, буду весьма признателен.
|
|||
31
H A D G E H O G s
31.08.13
✎
00:27
|
Не забудем
перем Word; перем NewDoc; Процедура КнопкаВыполнитьНажатие(Кнопка) Попытка Word=Новый COMОбъект("Word.Application"); Word.Visible=1; NewDoc=Word.Documents.Add(); ДобавитьОбработчик Word.DocumentChange , ПриИзмененииДокумента; //Создание, закрытие ДобавитьОбработчик Word.WindowActivate , ПриАктивацииОкна; //Создание, закрытие Исключение NewDoc=Неопределено; КонецПопытки; КонецПроцедуры Процедура ПриИзмененииДокумента() Экспорт Сообщить("Документ изменен"); КонецПроцедуры Процедура ПриАктивацииОкна(Документ,Окно) Экспорт Сообщить("Ворд активирован, активное окно: "+Окно.Caption); КонецПроцедуры |
|||
32
H A D G E H O G s
31.08.13
✎
00:28
|
http://msdn.microsoft.com/en-us/library/office/ff840337.aspx
Ну и так далее. |
|||
33
бомболюк
31.08.13
✎
00:49
|
большое спасибо. что то не ожидал что 1С внесет в платформу подключение своих процедур в качестве обработчиков событий COM по IConnectionPoint
|
|||
34
H A D G E H O G s
31.08.13
✎
00:50
|
(33) Я как то тоже не ожидал, что человек, знающий про IConnectionPoint, не сможет почитать ЖКК,
|
|||
35
бомболюк
31.08.13
✎
00:58
|
а у меня пока 8.1
|
|||
36
Torquader
31.08.13
✎
23:00
|
(34) Так это же восьмёрка - там и COM-соединение правильно работает.
А народ о семёрке беседует, в которой только DDE правильно работает - правда - через него тоже можно получать события. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |