Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Вопрос по ОбработкаОжидания() (число прочтений - 5864 )
idw
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 29
Зарегистрирован: 08. Июня 2007
Вопрос по ОбработкаОжидания()
12. Ноября 2008 :: 05:30
Печать  
Можно ли с помощью Formex запустить одновременно два обработчика ожидания?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Вопрос по ОбработкаОжидания()
Ответ #1 - 12. Ноября 2008 :: 06:45
Печать  
Можно даже двадцать два Улыбка
  
Наверх
ICQ  
IP записан
 
idw
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 29
Зарегистрирован: 08. Июня 2007
Re: Вопрос по ОбработкаОжидания()
Ответ #2 - 12. Ноября 2008 :: 07:20
Печать  
У меня почему то два обработчика не работают. Делаю так при открытии
Код
Выбрать все
Если ФС.СуществуетФайл(КаталогИБ()+"ExtDLLs\vkloader.dll")=1 Тогда
		ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"ExtDLLs\vkloader.dll");

		Если ФС.СуществуетФайл(КаталогИБ()+"ExtDLLs\FormEx.dll")=1 Тогда
			ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"ExtDLLs\FormEx.dll");

			Сервис = СоздатьОбъект("Сервис");
			Сервис.ОбработкаОжидания("ПриОбработкеОжидания",36000);

			Если (Константа.ВсемВыйти=0)или(ИмяПользователя()="Директор") тогда
				ПечОсталось="";ОсталосьСекунд=12;
				Сервис.ОбработкаОжидания("ВыгнатьВсех",1000);

			Иначе
				Предупреждение("База заблокирована!!!",5);
				СтатусВозврата(0);
			КонецЕсли;    
		КонецЕсли;
	КонецЕсли; 

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Вопрос по ОбработкаОжидания()
Ответ #3 - 12. Ноября 2008 :: 08:24
Печать  
Цитата:
У меня почему то два обработчика не работают.

А они и не будут работать так.
Создавай столько объектов Сервис, сколько нужно обработчиков ожидания.

Сервис1 = СоздатьОбъект("Сервис");
Сервис2 = СоздатьОбъект("Сервис");

и т.д.
  
Наверх
ICQ  
IP записан
 
idw
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 29
Зарегистрирован: 08. Июня 2007
Re: Вопрос по ОбработкаОжидания()
Ответ #4 - 12. Ноября 2008 :: 13:00
Печать  
Спасибо
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Вопрос по ОбработкаОжидания()
Ответ #5 - 15. Сентября 2009 :: 10:32
Печать  
Я сделал так:
Код
Выбрать все
//==================================================
Процедура ОбработкаОжидания_1()
	Сообщить("Выполнене обработка № 1");
КонецПроцедуры // ОбработкаОжидания_1

//==================================================
Процедура ОбработкаОжидания_2()
	Сообщить("Выполнена обработка № 2");
КонецПроцедуры // ОбработкаОжидания_2

//==================================================
Процедура ПриНачалеРаботыСистемы()
	Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"Formex.dll")=1 Тогда
		Сервис1=СоздатьОбъект("Сервис");
		Сервис2=СоздатьОбъект("Сервис");
		Сервис1.ОбработкаОжидания("ОбработкаОжидания_1",10000);
		Сервис2.ОбработкаОжидания("ОбработкаОжидания_2",11000);
	КонецЕсли;
КонецПроцедуры // ПриНачалеРаботыСистемы 


Выполняется только последняя обработка. Печаль

Очень надо две обработки ожидания, помогите, плз.

Версия FormEx: 2.0.5.93
  
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Вопрос по ОбработкаОжидания()
Ответ #6 - 15. Сентября 2009 :: 12:31
Печать  
Код
Выбрать все
Перем Таймер,Таймер2;

...........................


	Таймер = СоздатьОбъект("Таймер");
	Таймер.ЗадатьОбработчикВГлобальномМодуле("ОбработкаОжидания_1");
	Таймер.Запустить(100);
	Таймер2 = СоздатьОбъект("Таймер");
	Таймер2.ЗадатьОбработчикВГлобальномМодуле("ОбработкаОжидания_2");
	Таймер2.Запустить(100); 

  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Вопрос по ОбработкаОжидания()
Ответ #7 - 15. Сентября 2009 :: 12:57
Печать  
Eprst писал(а) 15. Сентября 2009 :: 12:31:
Код
Выбрать все
Перем Таймер,Таймер2;

...........................


	Таймер = СоздатьОбъект("Таймер");
	Таймер.ЗадатьОбработчикВГлобальномМодуле("ОбработкаОжидания_1");
	Таймер.Запустить(100);
	Таймер2 = СоздатьОбъект("Таймер");
	Таймер2.ЗадатьОбработчикВГлобальномМодуле("ОбработкаОжидания_2");
	Таймер2.Запустить(100); 


Супер!
Большое спасибо!
Так - работает!  Очень довольный
  
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по ОбработкаОжидания()
Ответ #8 - 15. Сентября 2009 :: 13:19
Печать  
simply писал(а) 15. Сентября 2009 :: 10:32:
Я сделал так:
Код
Выбрать все
//==================================================
Процедура ОбработкаОжидания_1()
	Сообщить("Выполнене обработка № 1");
КонецПроцедуры // ОбработкаОжидания_1

//==================================================
Процедура ОбработкаОжидания_2()
	Сообщить("Выполнена обработка № 2");
КонецПроцедуры // ОбработкаОжидания_2

//==================================================
Процедура ПриНачалеРаботыСистемы()
	Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"Formex.dll")=1 Тогда
		Сервис1=СоздатьОбъект("Сервис");
		Сервис2=СоздатьОбъект("Сервис");
		Сервис1.ОбработкаОжидания("ОбработкаОжидания_1",10000);
		Сервис2.ОбработкаОжидания("ОбработкаОжидания_2",11000);
	КонецЕсли;
КонецПроцедуры // ПриНачалеРаботыСистемы 


Выполняется только последняя обработка. Печаль

Очень надо две обработки ожидания, помогите, плз.

Версия FormEx: 2.0.5.93

Да, это МОЯ ошибка Печаль - несколько обработок ожидания таким способом работать не могут.
Но зато можно заводить кучу Таймеров.

ЗЫ Это типа фича для перевода всех на Таймеры Улыбка Печаль
  

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



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Вопрос по ОбработкаОжидания()
Ответ #9 - 15. Сентября 2009 :: 13:24
Печать  
artbear писал(а) 15. Сентября 2009 :: 13:19:
Да, это МОЯ ошибка Печаль - несколько обработок ожидания таким способом работать не могут.
Но зато можно заводить кучу Таймеров.

ЗЫ Это типа фича для перевода всех на Таймеры Улыбка Печаль


Да, но несколько обработок ожидания объекта РасширениеФормы всё же работают... Хотя, автору нужно глоб.процы.
Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать