Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Можно как-то отловить нажатие Esc? (число прочтений - 16227 )
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Можно как-то отловить нажатие Esc?
13. Ноября 2007 :: 16:47
Печать  
Есть отчет, основной код которого спрятан по классам.

При нажатии на Esc, это прерывание приходит именно на код класса. И при согласии пользователя прервать работу - работа продолжается.

Можно как-то отловить нажатие Esc?
  
Наверх
www  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #1 - 13. Ноября 2007 :: 17:23
Печать  
у роберта RHook есть в ВК.
" Включение перехвата не позволяет пользователю прервать выполнение модуля нажатием кнопки Esc. Во всех других режимах кнопка работает по-прежнему."


Я про RWidjets.dll
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #2 - 13. Ноября 2007 :: 18:39
Печать  
Мне нужно наоборот. Чтобы Esc, нажатый в коде класса, прерывал выполнение модуля, которой этот код вызвал.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #3 - 13. Ноября 2007 :: 18:41
Печать  
Вот тестовая конфигурация.
Попробуйте нажатием esc прервать выполнение отчета "новый1"
  

1Cv7.MD ( 120 KB | Загрузки )
Наверх
www  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #4 - 13. Ноября 2007 :: 19:46
Печать  
fez писал(а) 13. Ноября 2007 :: 18:39:
Мне нужно наоборот. Чтобы Esc, нажатый в коде класса, прерывал выполнение модуля, которой этот код вызвал.

Хех. Самому надо Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Можно как-то отловить нажатие Esc?
Ответ #5 - 13. Ноября 2007 :: 20:13
Печать  
Arta писал(а) 13. Ноября 2007 :: 19:46:
fez писал(а) 13. Ноября 2007 :: 18:39:
Мне нужно наоборот. Чтобы Esc, нажатый в коде класса, прерывал выполнение модуля, которой этот код вызвал.

Хех. Самому надо Улыбка

Не"ер делать.

А возьмите сборку постарше, до того как была раскопана нормальная отладка классов.
Там такой финт ушами "ер прошел бы.
  

1Cv7_001.MD ( 120 KB | Загрузки )

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #6 - 14. Ноября 2007 :: 10:27
Печать  
Ну в принципе да, решение. Правда корявое и не универсальное, но решение.
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Можно как-то отловить нажатие Esc?
Ответ #7 - 14. Ноября 2007 :: 13:46
Печать  
fez писал(а) 14. Ноября 2007 :: 10:27:
Ну в принципе да, решение. Правда корявое и не универсальное, но решение.

В устах логика звучит как комплемент Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #8 - 14. Ноября 2007 :: 15:49
Печать  
я не понял, что это получается, что в новых сборках компоненты код классов прерывается по Esc?
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #9 - 14. Ноября 2007 :: 15:55
Печать  
spock писал(а) 14. Ноября 2007 :: 15:49:
я не понял, что это получается, что в новых сборках компоненты код классов прерывается по Esc?

Да, в 2.5.0.1 Esc передается в код клиента, а в 2.5.0.3 остается в классе.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #10 - 14. Ноября 2007 :: 15:57
Печать  
В 2.3.0.5 все хорошо
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #11 - 14. Ноября 2007 :: 16:00
Печать  
В 2.0.3.7 тоже хорошо.
В 2.5.0.5 - плохо.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #12 - 14. Ноября 2007 :: 16:34
Печать  
kms писал(а) 13. Ноября 2007 :: 20:13:
А возьмите сборку постарше, до того как была раскопана нормальная отладка классов.
Там такой финт ушами "ер прошел бы.


Михаил прав. Проблема возникла 8 апреля 2007 года. А в тот день было скоммичено вот чего.

Код
Выбрать все
2007-04-08	trav
	* Source/CursorGrid/V7LogProvider.cpp 1.19:
		Исправлена ошибка
		http://www.1cpp.ru/forum/YaBB.pl?num=1175846801

2007-04-08	artbear
	* Source/BLModuleWrapper.cpp 1.13:
		[*] отлаживать текстовые файлы можно только при включенном режиме
		 отладки классов 1С++

	* Source/BLModuleWrapper.cpp 1.12:
		[*] можно отлаживать и текстовые классы, если используется спец.з
		амена системной библиотеки Bin\tracer.dll

	* Source/ComponentClass.cpp 1.98:
	* Source/ComponentClass.h 1.57:
	* Source/ExecuteModule.cpp 1.26:
		[+] добавления, необходимые для возможности простой отладки классов 1С++ - спасибо kms
		[*] мелкий рефакторинг

	* Source/BLModuleWrapper.cpp 1.11:
	* Source/BLModuleWrapper.h 1.9:
	* Source/ModuleString.cpp 1.27:
	* Source/ModuleString.h 1.7:
		[+] добавления, необходимые для возможности простой отладки классов 1С++ - спасибо kms
		[*] рефакторинг

	* Source/1CHEADERS/seven.h 1.20:
		[+] объявления классов, необходимых для отладки - спасибо Valar-у и kms
		[+] более точное объявление класса "CBLModule7", в т.ч. и порядка виртуальных функций
		[+] более точное объявление класса " CConfigCont" и "CTypedDataCont"
		[*] более точное объявление метода "::GetModuleFullName"

	* Source/1CHEADERS/frame.h 1.12:
		[*] комментарии

	* Source/1CHEADERS/blang.h 1.9:
		[+] более точное объявление класса "CExecutedModule" и классов, в
		ходящих в него

	* Source/System/GroupContextWrap.cpp 1.21:
		[*] добавил недостающий #include

	* Source/System/Math.cpp 1.6:
		[*] мелкие изменения от автора

	* Source/System/MyThread.cpp 1.7:
		[*] закомментировал код метода "procCreateThread" - возникала оши
		бка компиляции

	* Source/System/compare.h 1.3:
		[*] более точные объявления методов "::Compare..."

	* Source/ADDIN.CPP 1.54:
	* Source/ADDIN.H 1.16:
		[*] регистрация классов COLEDBData и CEventManager теперь не нужна;
		[*] рефакторинг -
		поле "pClassNameHash" переименовано в "m_pClassNameHash"
		поле "wrapperCreateInstance" переименовано в "m_wrapperCreateInstance"
		[*] убрал ненужные #include

	* Source/SafeContext.cpp 1.19:
		[*] исправил объявления перехваченных конструкторов;
		[*] удалил старый код в комментариях

	* Source/EventManager.cpp 1.9:
		[*] рефакторинг

	* Source/mycontextbase.h 1.6:
		[+] новый макрос BEGIN_EMPTY_BL_PROP_MAP для класса без свойств
 

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



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно как-то отловить нажатие Esc?
Ответ #13 - 14. Ноября 2007 :: 16:34
Печать  
ах#еть, как неприятно какая непростая ситуация
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Можно как-то отловить нажатие Esc?
Ответ #14 - 14. Ноября 2007 :: 16:40
Печать  
- Сейчас я тебе все объясню...
- Это не то, что ты думаешь...
(отрывок из мексиканской мелодрамы)

Совершенно серьезный вопрос:
что такое хорошо и что такое плохо?

ESC, который НЕ срабатывает до того момента, пока НЕ завершится выполнение метода класса - это ХОРОШО или это ПЛОХО?

Кто ответит - тому приз в виде моих объяснений, что же происходит на самом деле.
Ну, если вы хочете допинг, конечно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать