![]() |
![]() |
|
Как подключиться к уже существующему OLE-объекту? | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
22.09.14
✎
10:31
|
Есть задача - создать OLE-объект, чтобы можно было подключиться к нему из другого приложения.
Допустим, для этого я могу заранее запустить его с неким GUID, или просто получить от него GUID. Т.е. можно ли подключиться к OLE-объекту, если он создан не из текущего приложения, а его идентификатор, допустим у нас есть (вопрос как получить этот идентификатор тоже актуален) |
|||
1
Torquader
22.09.14
✎
10:41
|
Можно, RunObjectTable тебе в помощь. И GetObject в VbScript.
|
|||
2
DrZombi
гуру
22.09.14
✎
10:42
|
(0) А поконкретней можно? В деталях. Приложение такое то подключается туда-то
|
|||
3
Гений 1С
гуру
22.09.14
✎
10:57
|
(2) проблема в том, что IE9 глючит при его создании из 1С.
Я создам IE9 (internetExplorer.Application) из скрипта. А потом подключусь из 1С. Дело в том, что из скрипта нормально работает, не глючит. (1) GetObject разве подключится к существующему ком-объекту? а как работать с RunObjectTable? |
|||
4
Torquader
22.09.14
✎
11:06
|
(3) IE как раз в RunObjectTable не регистрируется.
Если хочется его "создать", то запускай с ключом -embedded и подключайся, как обычно - у меня в 7.7 именно так и сделано, иначе - ну не стартует иногда эта "длинноухая шняга". |
|||
5
Гений 1С
гуру
22.09.14
✎
11:12
|
(4) мне нужно, чтобы он запустился не из одного потока с 1С, а с другого потока,если стартует в потоке 1С, то глючит.
|
|||
6
Кирпич
22.09.14
✎
11:27
|
(5) моя многолетняя программерская практика подсказывает мне, что глючит обычно по вине самого жалующегося на глючность. покажи код и тебе скажут, почему у тебя глючит.
|
|||
7
Гений 1С
гуру
22.09.14
✎
11:45
|
(6) мой опыт (и поиск в гугле) подсказывает мне что это корявая работа 1С с COM. методы и свойства объекта BODY выдают ошибку.
т.е. это ошибка COM-модели. Я захожу на сайт, прошу Body.InnerHTML, а он мне выдает ошибку. но не всегда, иногда работает, иногда нет. Только с IE9, до этого нормально работает код. На IE8 ок. но у меня дома IE9, т.к. на Win8 более ранний использовать нельзя. |
|||
8
Кирпич
22.09.14
✎
11:56
|
(7) ну если с ie8 нормально работает, то причем тут 1с?
|
|||
9
Гений 1С
гуру
22.09.14
✎
12:23
|
(8) ха. я гуглил на эту тему, нашел что 1С криво работает с COM, т.е. конкретно с новой версией IE9
|
|||
10
Гений 1С
гуру
22.09.14
✎
12:23
|
поэтому я и хочу обойти эту проблему, запуская IE в отдельном потоке, не связанным с 1С, а ему передавать только вызовы методов
|
|||
11
Кирпич
22.09.14
✎
12:25
|
(9) Думаешь, что COM сильно изменился с приходом IE9? Я думаю нет.
|
|||
12
Кирпич
22.09.14
✎
12:26
|
Лучше посмотри настройки IE9. Безопасность там всякую, сертификаты и прочее.
|
|||
13
Torquader
22.09.14
✎
12:27
|
Enternet Explorer - это:
1) SingleInstance - то есть создаётся один объект на одного запрашивающего и повторные подключения к объекту не предусмотрены. Получить объект InternetExplorer через GetObject невозможно. 2) LocalServer32, то есть отдельное приложение и работает всегда в своём процессе, а все вызовы OLE идут через RemoteProcedureCall и очередь сообщений самого InternetExplorer. В одном потоке с 1С можно запустить только Proxy для OLE-обмена, а она стандартная для всех OLE-объектов. Если хочется извращаться - создай сценарий VbScript и вызывай его из 1С через MSScriptControl, а уже из этого сценария создавай "Осла". |
|||
14
Torquader
22.09.14
✎
12:29
|
Если Body.innerHTML выдаёт ошибку, то нужно проверить, а есть ли страница, то есть сначала нужно дождаться готовности InternetExplorerOle.Busy должна возвращать False, только после этого к нему можно лезть - не забывайте, что он работает в отдельном процессе и никак не связан с вашим сценарием, и если вы ему дали команду, то выполняться она может начать даже после того, как вам ответили, что она успешная.
|
|||
15
Гений 1С
гуру
22.09.14
✎
12:31
|
(13) Я так пробовал. Я даже пробовал запускать отдельное 1С через OLE.APPLICATION, а уже из него запускать IE.
Суть проблемы такова - какое-то время IE9 из первичной 1С работает, потом что-то ломается в OLE и уже ничего не помогает - ни создание IE в скрипте, ни создание IE в новой 1С. Пока не перезапустишь первичную 1С. |
|||
16
Гений 1С
гуру
22.09.14
✎
12:31
|
(14) прикол в том, что InternetExplorerOle.Busy = false, а ожидаемые свойства не читаются, выдая ошибку с каким-то там кодом, счас его не помню. Погуглив этот код, нашел, что это какая-то несовместимость 1с с IE9.
|
|||
17
Гений 1С
гуру
22.09.14
✎
12:32
|
(12) там я уже все перепробовал.
причем безопасность к тому, что свойтво BODY выдает ошибку? это какая-то ошибка COM. |
|||
18
Torquader
22.09.14
✎
13:02
|
Если сначала читает, а потом - нет, то это ошибка фрагментации памяти. Фрагмент всего тела передаётся из одного объекта в другой посредством WM_COPYMEMORY, но у приёмника может просто не найтись свободного пространства в памяти.
Пробуйте копировать по-частям, то есть через перечисление вложенных в BODY объектов. Вариант 2 - написать VbScript, который будет не только "осла" по OLE "дёргать", но и саму 1С через Внешнее соединение. |
|||
19
Гений 1С
гуру
22.09.14
✎
13:27
|
(18) Я не копирую, я просто обращаюсь к свойствам и методам IE.
ну вариант со скриптом, который дергает 1С, кстати, возможен. т.е. управляться будет не IE по COM, а 1C, которая управляет ослом. и если 1С падает, то будет перезапущена. 1С в таком режиме надо запускать по COM, наверное, для скорости. ОК, подумаю в этом направлении. |
|||
20
Кирпич
22.09.14
✎
13:38
|
Офигенно вы проблемы решаете. Код не смотрели. Какую ошибку выдает IE им даже не интересно. Зато смело предположили, что 1с неправильно работает с COM и тут же, поверив в это, начали выдумывать какие то костыли. Снимаю шляпу. :)
|
|||
21
Serginio1
22.09.14
✎
13:39
|
Наверное лучше обойтись без IE
v8: Парсинг сайта... ПолучитьЭлементПоИдентификатору - как заставить его работать? |
|||
22
Гений 1С
гуру
22.09.14
✎
14:14
|
(21) в моем случае нужен IE, я не парсингом занимаюсь, а длительной сессией.
(20) причина не лечится, нужен обходной маневр. |
|||
23
Кирпич
22.09.14
✎
14:23
|
(22) и в чем причина? я вот думаю, что причина скорее всего в том, что IE просто не загрузил страницу. код покажи.
|
|||
24
Serginio1
22.09.14
✎
14:35
|
||||
25
Гений 1С
гуру
22.09.14
✎
14:51
|
(23) Тогда бы не работало под IE8
Причина именно в браузере. (24) мне нужно сессии поддерживать, а не просто GET и POST делать, т.е. полностью эмулировать работу браузера от входа до поста и перехода по последующим страницам. Код? Пожалуйста. Часто проваливается в неадекватное состояние. //Переход на адрес Функция ПерейтиНаАдрес(_Адрес, Параметры = Неопределено) Экспорт ~СначалаБраузер: Попытка ДобавитьМаркерТекущейСтраницы(); Если Параметры = Неопределено Тогда Параметры = Новый Структура(); КОнецЕсли; //Смотрим, нужно ли создавать новый браузер... флНуженБраузер = ложь; Если Браузер = Неопределено Тогда флНуженБраузер = истина; ИначеЕсли Браузер.Busy = истина Тогда флНуженБраузер = истина; Иначе Если Браузер.Document <> Неопределено Тогда //Если веб-страница находится во взаимодействии с пользователем Попытка Если Браузер.Document.readystate = "interactive" Тогда //Попытка //Если Браузер.Document.parentWindow.event.type = "showmessage" Тогда // Браузер.Document.parentWindow.event = Неопределено; // //флНуженБраузер = истина; //КонецЕсли; Если Браузер.Document.parentWindow.event <> Неопределено Тогда //Браузер.Document.parentWindow.close(); флНуженБраузер = истина; КонецЕсли; //Исключение //КонецПопытки; //Браузер.Stop(); КонецЕсли; ////Если после остановки документ по прежнему интерактивен, значит это настоящее модальное окно. //Если Браузер.Document.readystate = "interactive" Тогда // флНуженБраузер = истина; //КонецЕсли; Исключение флНуженБраузер = истина; КонецПопытки; КонецЕсли; КонецЕсли; //Если браузер уже есть, но находится в неадекватном состоянии, закрываем... Если флНуженБраузер И Браузер <> Неопределено Тогда Закрыть(); КонецЕсли; ~ОпятьБраузер: Если флНуженБраузер Тогда Если УбиватьБраузер = истина Тогда УбитьБраузер(); КонецЕсли; ОшибкаБраузера = ложь; Если Браузер <> Неопределено Тогда Попытка //Браузер.Quit(); Исключение Сообщить(" не удалось закрыть браузер: " +ОписаниеОшибки()); КонецПопытки; Браузер = Неопределено; КонецЕсли; Попытка //Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl"); //Скрипт.language="vbscript"; //Скрипт.addCode("Function MY() //| Set B = CreateObject(""InternetExplorer.Application"") //| B.RegisterAsDropTarget = false //| B.Silent = truE //| B.AddressBar = false //| B.MenuBar = false //| B.ToolBar = false //| B.StatusBar = false //| B.Visible = false //| Set My = B //|End Function //|"); //Браузер = Скрипт.eval("My()"); //Браузер = Новый COMОбъект("InternetExplorer.Application"); //СоздаватьБраузерЧерезCOM = Истина; //СоздаватьБраузерЧерезApplication = Истина; //СоздаватьБраузерЧерезWebBrowser = истина; //СоздаватьБраузерЧерезПолеHTMLДокумента = Истина; //СоздаватьБраузерЧерезMSScriptControl = истина; Если СоздаватьБраузерЧерезMSScriptControl = Истина Тогда Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl"); Скрипт.language="vbscript"; Скрипт.addCode("Dim IE |Function Navigate(Addr) | IE.Navigate(Addr) |End Function | |Sub click | IE.click() |End Sub | |Function ReadyState | ReadyState = IE.ReadyState |End Function | |Function Forms | set Forms = IE.Document.Forms |End Function | |Function Busy | Busy = IE.Busy |End Function | |Function Body | Set Body = IE.Body |End Function | |Function Navigate(Addr) | IE.Navigate(Addr) |End Function | |Function Quit | IE.Quit |End Function | |Function Start() | Set IE = CreateObject(""InternetExplorer.Application"") | IE.RegisterAsDropTarget = false | IE.Silent = truE | IE.AddressBar = false | IE.MenuBar = false | IE.ToolBar = false | IE.StatusBar = false | IE.Visible = false |End Function | |Function MY() | Start | Set My = IE |End Function |Function GetBody(Obj) | GetBody = Obj.Body |End Function |"); //Скрипт.eval("Start()"); Браузер = Скрипт.eval("My()"); //Браузер = Новый COMОбъект("InternetExplorer.Application"); ИначеЕсли СоздаватьБраузерЧерезCOM = Истина Тогда СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); СтрокаСоединения = СтрокаСоединения + "Usr=" + ИмяПользователя() + ";Pwd=""" + Константы.пимПарольДляПодключенияКБазе.Получить() + """"; //Коннектор = Новый COMОбъект("V81.ComConnector"); Коннектор = Новый COMОбъект("V81.Application"); Соединение = Коннектор.Connect(СтрокаСоединения); //Браузер = Соединение.CreateComObject("InternetExplorer.Application"); Браузер = Коннектор.CreateComObject("InternetExplorer.Application"); ИначеЕсли СоздаватьБраузерЧерезApplication = Истина Тогда СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); СтрокаСоединения = СтрокаСоединения + "Usr=" + ИмяПользователя() + ";Pwd=""" + Константы.пимПарольДляПодключенияКБазе.Получить() + """"; //Коннектор = Новый COMОбъект("V81.ComConnector"); Соединение = Новый COMОбъект("V81.Application"); Соединение.Connect(СтрокаСоединения); Браузер = Соединение.CreateComObject("InternetExplorer.Application"); ИначеЕсли СоздаватьБраузерЧерезWebBrowser = Истина Тогда СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); СтрокаСоединения = СтрокаСоединения + "Usr=" + ИмяПользователя() + ";Pwd=""" + Константы.пимПарольДляПодключенияКБазе.Получить() + """"; Соединение = Новый COMОбъект("V81.Application"); Соединение.Connect(СтрокаСоединения); Браузер = Соединение.Create1SBrowser(); ИначеЕсли СоздаватьБраузерЧерезПолеHTMLДокумента = Истина Тогда //СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); //СтрокаСоединения = СтрокаСоединения + "Usr=" + ИмяПользователя() + ";Pwd=""" + Константы.пимПарольДляПодключенияКБазе.Получить() + """"; //Соединение = Новый COMОбъект("V81.Application"); //Соединение.Connect(СтрокаСоединения); //Браузер = Соединение.Create1SSBrowser(); //Браузер = Create1SSBrowser(); Браузер = Create1SBrowser(); Иначе Браузер = 0; Браузер = Новый COMОбъект("InternetExplorer.Application"); КонецЕсли; //Браузер.RegisterAsDropTarget = false; Попытка Браузер.Silent = truE; Исключение КонецПопытки; //Попытка Браузер.AddressBar = false; Исключение КонецПопытки; //Попытка Браузер.MenuBar = false; Исключение КонецПопытки; //Попытка Браузер.ToolBar = false; Исключение КонецПопытки; //Попытка Браузер.RegisterAsBrowser = false; Исключение КонецПопытки; //Попытка Браузер.StatusBar = false; Исключение КонецПопытки; Попытка Браузер.visible = Видимость = истина; Исключение КонецПопытки; Исключение ОписаниеОшибки = ОписаниеОшибки(); ОшибкаБраузера = истина; КонецПопытки; Если ОшибкаБраузера Тогда Сообщить("Ошибка создания браузера: " + ОписаниеОшибки); ОбработкаПрерыванияПользователя(); флНуженБраузер = истина; Перейти ~ОпятьБраузер; КонецЕсли; ПерваяМинимизацияПрошла = ложь; //Браузер.visible = Истина; КонецЕсли; //ЗапомнитьМаркерДокумента(); //Теперь переходим и дожидаемся загрузки ЕстьНеадекватноеСостояние = ложь; //Браузер.Navigate("about:blank"); //Пока Браузер.Busy Цикл // бфДиалоги.ксСостояние("Создаю пустую веб-страницу Ctrl+Break - останов"); // бфДиалоги.ксОбработкаПрерыванияПользователя(); //КонецЦикла; Если СоздаватьБраузерЧерезMSScriptControl = истина Тогда Скрипт.eval("Navigate (""" + _Адрес + """) "); Иначе Браузер.Navigate(_Адрес); КонецЕсли; Адрес = _Адрес; Р = ДождатьсяЗагрузки(Параметры); Если ЕстьНеадекватноеСостояние Тогда //Браузер.Navigate("about:blank"); флНуженБраузер = истина; Перейти ~ОпятьБраузер; КонецЕсли; //СвойствоForms = Скрипт.eval("Forms()"); //СвойствоForms1 = Скрипт.eval("Forms().item(0)"); //ТелоПервой = Скрипт.run("GetBody", СвойствоForms1); //Минимизируем, когда создаем видимым... Если ПерваяМинимизацияПрошла <> истина И Браузер.Document <> Неопределено Тогда Если Видимость = истина Тогда Браузер.visible = Истина; Попытка Браузер.Document.parentWindow.blur(); Исключение КонецПопытки; КонецЕсли; ПерваяМинимизацияПрошла = истина; КонецЕсли; Исключение Перейти ~СначалаБраузер; КонецПопытки; Если Р = Неопределено Тогда Если УбиватьБраузер = истина Тогда УбитьБраузер(); КонецЕсли; //Перейти ~СначалаБраузер; КонецЕсли; Возврат Р; КонецФункции Функция Загружена(Параметры = Неопределено) Экспорт //ТекМаркерДокумента = ПолучитьМаркерДокумента(); //Возврат Браузер <> Неопределено И Браузер.ReadyState = 4 И ТекМаркерДокумента <> Неопределено И ТекМаркерДокумента <> МаркерДокумента И Браузер.Document <> Неопределено ; Попытка //Если Браузер <> Неопределено И Браузер.ReadyState = 4 И Браузер.Document <> Неопределено Тогда //Проверяем остался ли тег Попытка Если бфДом.АтрибутЭлемента(Браузер.Document.body, "_ba4c88dfc4034298a653d10b3f84860b") <> Неопределено Тогда Возврат Ложь; КонецЕсли; Исключение КонецПопытки; //Проверяем есть ли стоп-строки Попытка Для Каждого Строка ИЗ Параметры.СтопСтроки Цикл Если Найти(Браузер.Document.body.innerText, Строка) <> 0 Тогда Возврат истина; КонецЕсли; КонецЦикла; Исключение КонецПопытки; //Проверяем, может сработала ловушка Попытка фл = Ловушка.ДожидатьсяЛиЗагрузки(Браузер, Параметры); Исключение фл = Неопределено; КонецПопытки; Если фл = ложь Тогда Браузер.Stop(); Возврат истина; КонецЕсли; Если Браузер.readyState = 3 Тогда Попытка Если Найти(ВРЕГ(Браузер.Document.documentElement.outerHTML), "</BODY>") <> 0 Тогда Возврат истина; КонецЕсли; Исключение КонецПопытки; КонецЕсли; Для Инд = 1 По 1 Цикл Попытка Статус = Браузер.readyState; Если Браузер.readyState = 4 Тогда Тест = Браузер.Document.body.innerHTML; //Проверяем, загружено ли тело страницы. КонецЕсли; Исключение ////Пробуем найти объект //Шелл = Новый COMОбъект("Shell.Application"); //Найдено = ложь; //Попытка //For Each ШеллОкно In Шелл.Windows() Цикл // If ВРег(ШеллОкно.LocationName) = ВРег(Браузер.LocationName) Then // Браузер = ШеллОкно; // Найдено = истина; // Прервать; // КонецЕсли; //КонецЦикла; //Исключение КонецПопытки; // //Если Не Найдено Тогда // Перейти ~Неадекватное; //КонецЕсли; Перейти ~Неадекватное; КонецПопытки; Прервать; ~Неадекватное: Сообщить("Выявлено неадекватное состояние браузера: " + Инд + " " + ТекущаяДата() + " " + Адрес); Если Инд = 1 Тогда ЕстьНеадекватноеСостояние = истина; Иначе бфДиалоги.Задержка(10); //Ждем 10 секунд КонецЕсли; ОбработкаПрерыванияПользователя(); Возврат истина; //Загружено, но неадекватно... КонецЦикла; Если Браузер <> Неопределено И Браузер.Busy = Ложь И Браузер.Document <> Неопределено Тогда Если Браузер.readyState = 4 И Браузер.Document.body <> Неопределено и Браузер.Document.body.readystate = "complete" и Браузер.Document.readystate = "complete" Тогда Если НЕ бфДом.ДоступныАтрибуты(Браузер.Document.body) Тогда Возврат Ложь; КонецЕсли; Тест = Браузер.Document.body.innerHTML; //Вылетит - значит не загружена... //Пробуем получить текст тела, если нет, то еще не загружена //Вылетит в ошибку Тест = Браузер.Document.body.innerText; Возврат Истина; КонецЕсли; КонецЕсли; Исключение КонецПопытки; Возврат Ложь; КонецФункции |
|||
26
Serginio1
22.09.14
✎
15:19
|
(25) Так GET и POST и держит твою сессию через . Просто ты интерактивно работать не можешь.
Кстати а какого нибудь activex microsoft web browser нет? |
|||
27
Кирпич
22.09.14
✎
15:34
|
(25) в коде ничо не понял, но если 1с будет вычислять все условия в этом выражении, то наверное будет глюк
Если Браузер.readyState = 4 И Браузер.Document.body <> Неопределено и Браузер.Document.body.readystate = "complete" и Браузер.Document.readystate = "complete" Тогда |
|||
28
Кирпич
22.09.14
✎
15:37
|
+(27) я бы написал так
Если Браузер.readyState = 4 Тогда Если Браузер.Document.body <> Неопределено Тогда Если Браузер.Document.body.readystate = "complete" и Браузер.Document.readystate = "complete" Тогда ... КонецЕсли; КонецЕсли; КонецЕсли; |
|||
29
Кирпич
22.09.14
✎
16:04
|
Хотя нет. 1с вычисляет в принципе правильно. Проверил.
|
|||
30
Гений 1С
гуру
22.09.14
✎
16:09
|
(29) не ищи траблов там, где их нет. Проблема в IE9.
(26) соответственно нельзя использовать такие шняги, как CLICK и прочие вкусности JAVA-SCRIPT. Некоторые сайты без JAVA-SCRIPT тупо не работают. |
|||
31
Гений 1С
гуру
22.09.14
✎
16:10
|
(26) ACTIVEX есть, но он работает через тот же IE9, например полеHTMLдокумента
Function Create1SBrowser() Export Ф = ПолучитьОбщуюФорму("пимФормаБраузера"); Ф.Открыть(); //Ф.ЭлементыФормы.ЭлементУправленияБраузер.Application.visible = false; Возврат Ф.ЭлементыФормы.ЭлементУправленияБраузер; EndFunction |
|||
32
Serginio1
22.09.14
✎
16:25
|
(30) Попробуй http://watin.org/
|
|||
33
Serginio1
22.09.14
✎
16:33
|
||||
34
Torquader
22.09.14
✎
16:52
|
Попробуйте в Ie9 отключить вкладки - там с ними действительно какие-то проблемы были.
Ну и нужно перед проверкой readyState всё-таки проверять Busy, чтобы не попасть в просак или куда-то ещё. |
|||
35
Гений 1С
гуру
22.09.14
✎
17:20
|
(32) и как его заюзать из 1S? это ж плагин к фирефоксу
(34) с вкладками это идея, хотя конечно из области плясок с бубнами. А насчет проверки редистейт не надо, попытка-исключение животворящая все это обходит. |
|||
36
Кирпич
22.09.14
✎
17:20
|
(30) просто, единственные траблы, которые у меня были с IE это busy и readyState
вот мне и подозрительно, что всё дело в писанине |
|||
37
Гений 1С
гуру
22.09.14
✎
17:24
|
(36) ну ты просто мало гонял IE. А я его гонял огого сколько.
у IE тут монополия - больше никакой браузер программно не управляется, к сожалению. |
|||
38
Serginio1
22.09.14
✎
17:31
|
(32) Из 1С ты можешь достучаться к любым классам Net v8: v8: Использование сборок .NET в 1С 7.x и 8.x
watin в Основном к IE http://www.software-testing.ru/library/testing/general-testing/1791-watin- |
|||
39
Гений 1С
гуру
22.09.14
✎
17:42
|
(38) ну хоть что-то, хотя и сложно. да.
|
|||
40
Torquader
22.09.14
✎
18:06
|
Вообще-то, есть ServerXMLHttpRequest и его методы SetRequestHeader, позволяющие устанавливать любые ключи (cookies), если это нужно.
В IE самое удобное - это интерфейс, а не его работа в сети. Кстати, у меня "осёл" рулится из VbScript и проблемы возникают, если вызываешь метод, который выполняется дольше определённого времени, тогда в подсистеме OLE возникает TimeOut и управление прекращается - но это обычно случается, когда получаешь событие от "осла" и долго не отдаёшь ему управление. |
|||
41
Serginio1
23.09.14
✎
10:13
|
(39) Разве, что то может быть сложного для Гения?
.Net значительно мощнее скриптов. Можешь использовать события в 8 ке без ВК. Куча наработок исходного кода итд. Сейчас уже без .Net уже тяжело жить |
|||
42
Torquader
23.09.14
✎
10:19
|
(41) Насколько я помню, события в восьмёрке и без Net прекрасно ловятся - от того же Word-а, например.
|
|||
43
Serginio1
23.09.14
✎
11:48
|
(42) Они для этого и предназначены. Просто в (38) реализована поддержка нетовских событий через оболочку для передачи в восьмерку. Я про то, что использованте нетовских сборок значительно мощнее скриптов
|
|||
44
DES
09.10.14
✎
20:53
|
(0) Ну как, получилось подключиться ?
|
|||
45
vis_tmp
09.10.14
✎
21:09
|
(44) Его забанили уже.... Не узнам
|
|||
46
TormozIT
гуру
10.10.14
✎
07:29
|
Отправлял в 1С несколько проблем в работе с ActiveX IE9. Их все воспроизвели и прислали ответ в стиле "это проблема ActiveX IE9". Так что подтверждаю наличие как минимум несовместимости 1С и IE9.
|
|||
47
Torquader
11.10.14
✎
00:39
|
(46) Так IE9 и не только с 1С криво работает.
После его выхода вместо работы с mshta.exe просто хочется плюнуть в экран, так как бывают всяческие чудеса. Слава богу, что пятый и шестой не подводят. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |