Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема SelectValue.SelectVal.GetActiveWnd (число прочтений - 3091 )
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
SelectValue.SelectVal.GetActiveWnd
16. Июля 2008 :: 17:22
Печать  
Нужно поднять openconf на Vista. Проблема пока только с этой функцией, точнее с dll. Не регистрируетсяПечаль
Есть ли аналог функции в другой библиотеке в опенконфе? Может кто переписывал/пересобирал SelectValue , чтоб регистрировалась под вистой?
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: SelectValue.SelectVal.GetActiveWnd
Ответ #1 - 17. Июля 2008 :: 03:03
Печать  
А зачем тебе SelectValue ? Юзай Svssvc в режиме фильтрации и будет тебе счастье Улыбка
  

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



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: SelectValue.SelectVal.GetActiveWnd
Ответ #2 - 17. Июля 2008 :: 07:45
Печать  
artbear писал(а) 17. Июля 2008 :: 03:03:
А зачем тебе SelectValue ? Юзай Svssvc в режиме фильтрации и будет тебе счастье Улыбка

В скрипте интеллисенс используется эта функция SelectValue.SelectVal.GetActiveWnd. Она получает хэндл окна. В svc есть только получение текста окна. Печаль
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: SelectValue.SelectVal.GetActiveWnd
Ответ #3 - 17. Июля 2008 :: 08:23
Печать  
В Intell.ini отключи использование SelectValue и включи указанный объект.
И будет тебе щастье Улыбка
  

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



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: SelectValue.SelectVal.GetActiveWnd
Ответ #4 - 17. Июля 2008 :: 08:52
Печать  
Вот мой ini
Код
Выбрать все
//Файл пользовательских настроек

//В параметре FONT можно определить имя шрифта, которым будут выводить методы в окне списка выбора
FONT = arial

//В параметре FONTSIZE можно определить размер шрифта, которым будут выводить методы в окне списка выбора
FONTSIZE = 9

//В параметре POINT_AFTER_ESC устанавливается поведение скрипта если в окне выбора нажат ESC
// Если параметр установлен в ДА, то после ESC в месте вызова ставится точка, в противном случае
// точка ставится только если в окне выбора она будет проставлена пользователем.
POINT_AFTER_ESC = НЕТ

//В параметре CHOICELIST_KIND устанавливается вид используемой для выбора dll -
// Если параметр установлен в 1 - используется SelectValue.dll, Есои в 2 - SvcSvc.dll, 3 - SelectDialog.dll
CHOICELIST_KIND = 2

//Если параметр TELEPAT установлен в ДА, то Intellisence будет отрабатывать событие Telepat_OnShowMemberList
// которое возникает при нажатии точки после имени. При любом другом значении событие отрабатываться не будет.
TELEPAT = ДА

//Если SHOWTOOLTIPS установлен в ДА, то Intellisence после вставки метода будет "нажимать" Ctrl+Space
//тем самым заставляя телепат показывать подсказку. Если наблюдаются частые вылеты конфигуратора,
//то рекомендуется отключить эту опцию
SHOWTOOLTIPS = ДА

MAX_LINES_CALL_INTELL = default 



Вот где падает:
Код
Выбрать все
Function MethodsList()
ProfilerEnter("MethodsList")
	MethodsList = 0
	doc = ""
	if Not CheckWindow(doc) then Exit Function

	Set SelObj = CreateObject("SelectValue.SelectVal")
	Set wshShell = CreateObject("wScript.Shell")

	DLLKIND = GetIniParam("CHOICELIST_KIND")

	ActiveWnd_HWnd = SelObj.GetActiveWnd()
	ModuleWnd_HWnd = Windows.ActiveWnd.HWnd
 


Обрати внимание на ActiveWnd_HWnd = SelObj.GetActiveWnd()
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: SelectValue.SelectVal.GetActiveWnd
Ответ #5 - 17. Июля 2008 :: 10:09
Печать  
alest писал(а) 17. Июля 2008 :: 08:52:
Код
Выбрать все
	ActiveWnd_HWnd = SelObj.GetActiveWnd()
	ModuleWnd_HWnd = Windows.ActiveWnd.HWnd
 


Обрати внимание на ActiveWnd_HWnd = SelObj.GetActiveWnd()

Это просто мелкая недоработка, нужно это код задать в рамки для условия из Ини файла, пройдись поиском по ActiveWnd_HWnd в скрипте и сам убедишься Улыбка
  

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



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: SelectValue.SelectVal.GetActiveWnd
Ответ #6 - 17. Июля 2008 :: 11:49
Печать  
Поставил под условие. Непонятно, конечно, почему хэндл окна нужен только для SelectValue, ну да ладно.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать