Переключение на Главную Страницу Страницы: 1 2 3 [4] 5  ОтправитьПечать
Очень популярная тема (более 25 ответов) ВК для асинхронной обработки событий COM-объектов. (число прочтений - 62937 )
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #45 - 18. Сентября 2006 :: 13:29
Печать  
Ок! теперь все понятно!
  
Наверх
 
IP записан
 
Dolter
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 6
Зарегистрирован: 24. Февраля 2007
Re: ВК для асинхронной обработки событий COM-объек
Ответ #46 - 24. Февраля 2007 :: 12:29
Печать  
А почему вот так не получается:
Код
Выбрать все
ЗагрузитьВнешнююКомпоненту("EventProxy.dll");

Обработчик = СоздатьОбъект("InternetExplorer.Application");
Обработчик.Visible = 1;
Обработчик.Navigate("http://www.1cpp.ru/forum/YaBB.pl?num=1152684759");

ОбработчикСобытий = СоздатьОбъект("Addin.EventProxy");
ОбработчикСобытий.ГлубинаБуфераСобытий = 200;
ОбработчикСобытий.Источник(Обработчик, "InternetExplorer.Application", "IE"); 


???

Выдает:
Код
Выбрать все
ОбработчикСобытий.Источник(Обработчик, "InternetExplorer.Application", "IE");
{C:\DISTRIB\GT1CTCPC\1CDB\EXTFORMS\ОБРАБОТКАВНЕШНЕГОСОБЫТИЯ.ERT(27)}: Ошибка при выполнении метода объекта компоненты C:\Program Files\1Cv77\BIN\EventProxy.dll 

  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #47 - 24. Февраля 2007 :: 13:59
Печать  
InternetExplorer.Application почему-то не реализует интерфейс IProvideClassInfo Печаль
Следовательно получить имена событий компонента не может.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Dolter
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 6
Зарегистрирован: 24. Февраля 2007
Re: ВК для асинхронной обработки событий COM-объек
Ответ #48 - 27. Февраля 2007 :: 07:39
Печать  
steban писал(а) 24. Февраля 2007 :: 13:59:
InternetExplorer.Application почему-то не реализует интерфейс IProvideClassInfo Печаль
Следовательно получить имена событий компонента не может.

Спасибо...
А вообще-то я хотел "подрубиться" к компоненте RBrowser.dll (http://robert.by.ru/rbrowser.html)  Улыбка
Был бы, как мне кажется, неплохой шанс расширить интерфейсные возможности семерки...
  
Наверх
 
IP записан
 
Dolter
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 6
Зарегистрирован: 24. Февраля 2007
Re: ВК для асинхронной обработки событий COM-объек
Ответ #49 - 27. Февраля 2007 :: 08:29
Печать  
Вот так проходит без ошибок:
Код
Выбрать все
ЗагрузитьВнешнююКомпоненту("EventProxy.dll");
ЗагрузитьВнешнююКомпоненту("RBrowser.dll");

Браузер = СоздатьОбъект("RBrowser");
Браузер.Open("http://robert.by.ru");

Обработчик = Браузер.WebBrowser.Document;

ОбработчикСобытий = СоздатьОбъект("Addin.EventProxy");
ОбработчикСобытий.ГлубинаБуфераСобытий = 200;
ОбработчикСобытий.Источник(Обработчик, "RBrowser.Document.1", "RB"); 


... только почему-то никак не могу попасть в обработчик событий Печаль
  
Наверх
 
IP записан
 
Dolter
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 6
Зарегистрирован: 24. Февраля 2007
Re: ВК для асинхронной обработки событий COM-объек
Ответ #50 - 27. Февраля 2007 :: 08:35
Печать  
Поторопился... нихрена так не работает...
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #51 - 27. Февраля 2007 :: 08:54
Печать  
А на кой? Не проще Активикс WebBrowser пользовать?
  
Наверх
 
IP записан
 
Dolter
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 6
Зарегистрирован: 24. Февраля 2007
Re: ВК для асинхронной обработки событий COM-объек
Ответ #52 - 27. Февраля 2007 :: 09:51
Печать  
Arta писал(а) 27. Февраля 2007 :: 08:54:
А на кой? Не проще Активикс WebBrowser пользовать?

хм... вариант!
а можно примерчик в виде маленького ert? Улыбка
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #53 - 27. Февраля 2007 :: 13:44
Печать  
Код
Выбрать все
Перем Д;
Перем Скрипт;
Перем гРФорма;
//***************************************************************
//***************************************************************
Процедура ПриОткрытии()
	Форма.Заголовок("Проверка гарантийности Qtek");
КонецПроцедуры
//***************************************************************
//***************************************************************
Процедура ПослеОткрытия()
	Попытка
		_Форма = СоздатьОбъект("Форма");
		Д = _Форма.СоздатьЭлементУправленияНаФорме(Форма, СоздатьОбъект("АктивИкс"), "HTTP");
		Д.СоздатьЭУ("Shell.Explorer.2");
		Д.Объект.Visible = - 1;
		Д.Объект.Navigate2("http://service.myqtek.com/rmsLoginBPFI.asp", 4 + 8);
		Д.Объект.StatusBar = -1;
	Исключение
	КонецПопытки;
КонецПроцедуры
//***************************************************************
//***************************************************************
Процедура HTTP_DocumentComplete()
	Если (Д.Объект.Document.URL = "http://service.myqtek.com/rmsLoginBPFI.asp") И (Д.Объект.Document.ReadyState = "complete") Тогда
		Док = Д.Объект.Document;
		IMEI = Док.getElementsByName("txtIMEI");
		IMEI.item(0).Value = Форма.Параметр;

		Отправка = Док.getElementById("cmdSearch");
		Скрипт.Reset();
		Скрипт.AddObject("Отправка", Отправка);
		Скрипт.Eval("Отправка.click()");
	ИначеЕсли (Д.Объект.Document.URL = "http://service.myqtek.com/rmsVerifyIMEI.asp") И (Д.Объект.Document.ReadyState = "complete") Тогда
		Док = Д.Объект.Document;
		Если Найти(Д.Объект.Document.body.innertext, "The IMEI number was confirmed") > 0 Тогда
			Форма.Параметр = "QTEKBP";
		Иначе
			Форма.Параметр = "";
		КонецЕсли;
		Форма.Закрыть();
	КонецЕсли;
КонецПроцедуры
//***************************************************************
//***************************************************************
Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.Language = "javascript";
 

  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #54 - 27. Февраля 2007 :: 13:45
Печать  
У меня все обработки узкоспециализированные. Отсюда может что поймешь...
  
Наверх
 
IP записан
 
Dolter
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 6
Зарегистрирован: 24. Февраля 2007
Re: ВК для асинхронной обработки событий COM-объек
Ответ #55 - 27. Февраля 2007 :: 18:06
Печать  
Arta писал(а) 27. Февраля 2007 :: 13:45:
У меня все обработки узкоспециализированные. Отсюда может что поймешь...

Спасибо! Очень помогло.
Единственное намучался с установкой DataSource у грида... Пришлось через ж... делать...
Код
Выбрать все
	Грид = СоздатьОбъект("АктивИкс") ;
	АтрФормы.УстановитьАтрибут(Форма,"тАтрГрид");
	АтрФормы.СоздатьЭлементУправления(Грид);
	ОбъектГрид = Грид.СоздатьЭУ("MSDataGridLib.DataGrid.1");
	Грид.ОбработкаСобытий = 1;

	Данные = СоздатьОбъект("АктивИкс") ;
	АтрФормы.УстановитьАтрибут(Форма,"тАтрДанные");
	АтрФормы.СоздатьЭлементУправления(Данные);
	ОбъектДанные = Данные.СоздатьЭУ("MSAdodcLib.Adodc");
	Данные.ОбработкаСобытий = 1;
    
	ОбъектДанные.ConnectionString = "Driver={SQL Server};Server=(local); Database=prj1;Trusted_Connection=Yes;";
	ОбъектДанные.CommandType = 1;
	ОбъектДанные.RecordSource = "select * from table";
	ОбъектДанные.Refresh();

	Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
	Скрипт.Language="vbscript";
	Скрипт.AddObject("o1", ОбъектГрид);
	Скрипт.AddObject("o2", ОбъектДанные);
	Скрипт.ExecuteStatement("set o1.DataSource = o2");  

  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #56 - 28. Февраля 2007 :: 05:48
Печать  
Arta писал(а) 27. Февраля 2007 :: 13:44:
Код
Выбрать все
Процедура ПриОткрытии()
	Форма.Заголовок("Проверка гарантийности Qtek");
КонецПроцедуры
 


ОФФ. Подскажи, а как можно проверить мой Qtek - типа серый или белый он?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #57 - 28. Февраля 2007 :: 20:34
Печать  
artbear писал(а) 28. Февраля 2007 :: 05:48:
ОФФ. Подскажи, а как можно проверить мой Qtek - типа серый или белый он?

Узрел  Смех
На том сайте если проходит,  то гарантия БрайтПоинта, эта компания официально ввозит в Россию аппараты.
Кидай в аську имей, пробью аппарат Улыбка
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #58 - 28. Февраля 2007 :: 20:39
Печать  
Dolter писал(а) 27. Февраля 2007 :: 18:06:
Спасибо! Очень помогло.
Единственное намучался с установкой DataSource у грида... Пришлось через ж... делать...

Опять не понял. А зачем юзать грид для данных скуля, если есть ТП? Которое проще использовать в 1С?
Или я чего то упустил?
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВК для асинхронной обработки событий COM-объек
Ответ #59 - 17. Марта 2008 :: 13:34
Печать  
steban писал(а) 24. Февраля 2007 :: 13:59:
InternetExplorer.Application почему-то не реализует интерфейс IProvideClassInfo Печаль

Добавлена поддержка объектов, не реализующих IProvideClassInfo.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 
ОтправитьПечать