Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) ActiveX компонент DynamicWrapperX (число прочтений - 22286 )
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
ActiveX компонент DynamicWrapperX
23. Июня 2011 :: 07:45
Печать  
Думаю, что автор компоненты (Юрий Попов) не будет против, если я опубликую актуальную информацию по этому Com-серверу на данном форуме.

Тут лежит версия DLL, рекомендуемая (мной  Круглые глаза) к использованию (см. последний пост)

http://forum.script-coding.com/viewtopic.php?id=5341

Там же краткая документация по добавленным методам.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #1 - 11. Августа 2011 :: 07:06
Печать  
chessman, дружище, не подскажешь, может можно как то изменить цвет стандартной кнопки на форме через dynwrap?
(ЦветФона из FormEx не умеет цвет фона кнопок менять, а мне очень хочется цвет фона MS-но тулбара поправить)
  

screen_3.jpg ( 29 KB | Загрузки )
screen_3.jpg
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #2 - 11. Августа 2011 :: 13:43
Печать  
CaBaT писал(а) 11. Августа 2011 :: 07:06:
chessman, дружище, не подскажешь, может можно как то изменить цвет стандартной кнопки на форме через dynwrap?
(ЦветФона из FormEx не умеет цвет фона кнопок менять, а мне очень хочется цвет фона MS-но тулбара поправить)


Привет!
Можно, выглядеть будет приблизительно так:

  

Clipboard01_012.jpg ( 12 KB | Загрузки )
Clipboard01_012.jpg
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #3 - 11. Августа 2011 :: 14:27
Печать  
А без черной рамочки вокруг не сделать?
хотя и так уже лучше Улыбка

в идеале хотелось бы получить что то типа этого, только с белым фоном (дефолтная настройка в системе)

тут у меня штатная кнопка (в которой живет toolbaк) лежит поверх объекта tabledoc (желтые рамки вокруг кнопки выведены как таблица)
  

screen_5.jpg ( 38 KB | Загрузки )
screen_5.jpg
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #4 - 11. Августа 2011 :: 14:57
Печать  
CaBaT писал(а) 11. Августа 2011 :: 14:27:
А без черной рамочки вокруг не сделать?


Конечно, это я включил у контрола, чтоб видеть границы.
Завтра выложу.

Только у самих кнопок цвет-то останется "как есть", тебя это не смущает?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #5 - 11. Августа 2011 :: 15:07
Печать  
chessman писал(а) 11. Августа 2011 :: 14:57:
Конечно, это я включил у контрола, чтоб видеть границы.
Завтра выложу.

Супер!

chessman писал(а) 11. Августа 2011 :: 14:57:
Только у самих кнопок цвет-то останется "как есть", тебя это не смущает?

А я поставлю цвет фона такой же, как цвет фона картинок кнопок тулбара (там же он должен быть вполне конкретный, что бы он считался "прозрачным")
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #6 - 12. Августа 2011 :: 07:05
Печать  
Выкладываю класс, который позволяет менять фон у окна.
У него один экспортный метод
Код
Выбрать все
УстановитьЦвет(hWnd, Color) 



Как класс работает - сабклассирует (так вроде по-научному) процедуру окна и обрабатывает всего одно сообщение - WM_ERASEBKGND.

Во вложении класс и пример. Сразу скажу - пример не заработает, т.к. в нем я использую свои класс для тулбара, так что в нем можно просто код посмотреть, как использовать "раскраску".

  

sample.ZIP ( 7 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #7 - 12. Августа 2011 :: 07:19
Печать  
Спасибо огромное!
Протестирую - отпишусь  Класс
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #8 - 12. Августа 2011 :: 07:22
Печать  
CaBaT писал(а) 12. Августа 2011 :: 07:19:
Спасибо огромное!
Протестирую - отпишусь  Класс

Я там ошибку нашел, выложил заново.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #9 - 12. Августа 2011 :: 07:26
Печать  
А почему не заработает - у toolbar-а вроде есть сво-во hWnd?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #10 - 12. Августа 2011 :: 07:34
Печать  
CaBaT писал(а) 12. Августа 2011 :: 07:26:
А почему не заработает - у toolbar-а вроде есть сво-во hWnd?


Все правильно, но, я имел ввиду, что я там свои классы использую.
Обрати внимание, что в примере, я передаю не тот hWnd, который есть у тулбара, а его потомка!
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #11 - 12. Августа 2011 :: 07:37
Печать  
chessman писал(а) 12. Августа 2011 :: 07:34:
Все правильно, но, я имел ввиду, что я там свои классы использую.
Обрати внимание, что в примере, я передаю не тот hWnd, который есть у тулбара, а его потомка!

Ага, чего то сходу не завелось..
Ща посмотрю повнимательнее..

Не, все равно не взлетает..
Вроде хендл дочернего окна находит, а цвет не меняет..

Может это из-за того, что у меня не тот DynWrapex.dll?
Я использую старый + твой класс для правки на лету
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #12 - 12. Августа 2011 :: 07:58
Печать  
CaBaT писал(а) 12. Августа 2011 :: 07:37:
Может это из-за того, что у меня не тот DynWrapex.dll?
Я использую старый + твой класс для правки на лету


Ну, по идее это не должно влиять.
Я успешно использую уже без класса вот уже несколько месяцев, багов не замечал.

Прикладываю пример, без своих классов - просто нажимай "Сформировать", панель должна менять цвет.

  

sample.ert ( 12 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #13 - 12. Августа 2011 :: 08:31
Печать  
Твой пример работает, попробую прикрутить на живой тулбар..

Черт, в моем рабочем коде не взлетает..

Понял - в моей живой базе не запускается "патчинг" dynwrapex - сейчас поправлю и проверю.
С патчингом не связано..
Как то работает через раз..
Может проблема в том, что у меня сейчас при каждом вызове установки цвета производится инициализация кода - сейчас проверю..

Короче какая то проблема с повторным вызовом установки фона..
Пока поймать не могу, сейчас пока брошу - вечером еще поковыряю..
« Последняя редакция: 12. Августа 2011 :: 09:51 - CaBaT »  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #14 - 12. Августа 2011 :: 13:18
Печать  
CaBaT писал(а) 12. Августа 2011 :: 08:31:
Твой Короче какая то проблема с повторным вызовом установки фона..
Пока поймать не могу, сейчас пока брошу - вечером еще поковыряю..


А что хоть за проблема? Выложи пример.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #15 - 12. Августа 2011 :: 13:34
Печать  
Проблема в том, что твой пример работает на ура, а когда я то тот же код прикручиваю в рабочей базе к рабочему тулбару, нихрена не пашет..
Пока не могу понять, в чем дело и тестовый пример сложно выдернуть из конфы..
Короче попробую еще поковыряться, если что - буду просить твоей помощи   Круглые глаза
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #16 - 12. Августа 2011 :: 13:50
Печать  
CaBaT писал(а) 12. Августа 2011 :: 13:34:
Проблема в том, что твой пример работает на ура, а когда я то тот же код прикручиваю в рабочей базе к рабочему тулбару, нихрена не пашет..
Пока не могу понять, в чем дело и тестовый пример сложно выдернуть из конфы..
Короче попробую еще поковыряться, если что - буду просить твоей помощи   Круглые глаза


Найти прогу SPYXX, убедись, что к тому окну у которого ты меняешь процедуру прилетает сообщение WM_ERASEBKGND. Просто посмотри иерархию окон, может не к тому окну цепляешься.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #17 - 12. Августа 2011 :: 14:27
Печать  
Ок, спасибки.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #18 - 16. Августа 2011 :: 05:46
Печать  
В общем суть проблемы - у меня установка цвета срабатывает один раз.

Причина в том, что у меня есть класс "Система.WinAPI", который существует в конфигурации в единичном экземпляре.
В конструкторе класса производится установка модуля для ScriptCtrl один раз, потом в методе "УстановитьЦветФона" просто вызывается метод "ChangeBKG" с параметром.

Если я пересоздаю экземпляр класса, то метод опять срабатывает, но только один раз..

Хендлы проверял с помощью Spy++ - все верно ловит..

Самое смешное, что твой класс при этом нормально работает..
Не могу понять, в чем проблема..
Что то явно простое, но никак не поймать..

Сейчас пока нет времени покопаться, пока отложу на день-два..
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #19 - 16. Августа 2011 :: 06:22
Печать  
У тебя должно быть так - один тулбар - один "мой" класс, т.к. в этом классе идет подмена процедуры конкретного окна. Сколько Тулбаров в открытых формах, столько и классов должно быть создано. Посмотри в коде скрипта, скорее всего там переменная hwnd не обнуляется после того, как ты "отвязываешь" свой класс.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #20 - 16. Августа 2011 :: 06:24
Печать  
О, теперь понятно..
Попробую перевесить код в класс "Интерфейс.ПанельКнопок", что бы для каждого экземпляра тулбара был свой экземпляр твоего класса..
Спасибо!  Улыбка
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #21 - 16. Августа 2011 :: 06:36
Печать  
CaBaT писал(а) 16. Августа 2011 :: 06:24:
О, теперь понятно..
Попробую перевесить код в класс "Интерфейс.ПанельКнопок", что бы для каждого экземпляра тулбара был свой экземпляр твоего класса..
Спасибо!  Улыбка


Совершенно верно Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #22 - 16. Августа 2011 :: 11:28
Печать  
Поправил код - все ок  Очень довольный
Как всегда - респект и уважуха!
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #23 - 16. Августа 2011 :: 12:14
Печать  
CaBaT писал(а) 16. Августа 2011 :: 11:28:
Поправил код - все ок  Очень довольный
Как всегда - респект и уважуха!


Покажи, как получилось  Подмигивание
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #24 - 16. Августа 2011 :: 14:32
Печать  
Шероховатости есть конечно, но в целом вполне?
(также большое спасибо trad-у за его компоненту и подсказки http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/463#463
  

screen_8.jpg ( 331 KB | Загрузки )
screen_8.jpg
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #25 - 17. Августа 2011 :: 06:05
Печать  
Ты всё в серый цвет раскрасил?
Кстати, этот подход можно распространить на все окна, у которых есть "подложка".
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #26 - 17. Августа 2011 :: 07:13
Печать  
Все красил в один цвет, только разными способами - подложку под тулбар твоим, а фон ячеек в таблице - штатно средствами tabledoc
(кстати - может ты чего посоветуешь: http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/470#470)
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #27 - 17. Августа 2011 :: 10:02
Печать  
CaBaT писал(а) 17. Августа 2011 :: 07:13:
Все (кстати - может ты чего посоветуешь: http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/470#470)


Можешь мини пример замутить?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #28 - 17. Августа 2011 :: 10:13
Печать  
chessman писал(а) 17. Августа 2011 :: 10:02:
Можешь мини пример замутить?

Попробую..

Кста - допилил тут твой класс прогресс-бара - добавил настройку цвета полосы прогресса.
Ну точнее, как допилил - просто в твоих комментах в коде нашел установку цвета, переделал в функцию, добавил атрибут "Бар_Цвет"  Смех
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #29 - 17. Августа 2011 :: 11:16
Печать  
chessman писал(а) 16. Августа 2011 :: 06:22:
У тебя должно быть так - один тулбар - один "мой" класс, т.к. в этом классе идет подмена процедуры конкретного окна.


слушай, а при уничтожении контрола toolbar-а не надо как то деинициализировать подмену?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #30 - 17. Августа 2011 :: 11:25
Печать  
CaBaT писал(а) 17. Августа 2011 :: 11:16:
слушай, а при уничтожении контрола toolbar-а не надо как то деинициализировать подмену?


Я вроде в скрипте прописал это.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #31 - 17. Августа 2011 :: 14:55
Печать  
А у тебя никогда не выскакивало такое окошко странное, вроде как от скриптового движка - типа "выполнение скрипта не завершилось в заданный срок" или что в таком духе, но правда само пропадает..
(если поймаю - сделаю скрин)
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #32 - 17. Августа 2011 :: 14:59
Печать  
CaBaT писал(а) 17. Августа 2011 :: 14:55:
А у тебя никогда не выскакивало такое окошко странное, вроде как от скриптового движка - типа "выполнение скрипта не завершилось в заданный срок" или что в таком духе, но правда само пропадает..
(если поймаю - сделаю скрин)


Такое бывает, но только, когда нештатная ситуация, ну например, если я в отладчике сижу.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #33 - 17. Августа 2011 :: 15:13
Печать  
у меня сегодня было пару раз, до этого - ни разу..
причем один раз локально, один раз - в терминале..
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #34 - 18. Августа 2011 :: 05:50
Печать  
chessman писал(а) 17. Августа 2011 :: 10:02:
Можешь мини пример замутить?


Вот набросал примерчик, собственно вопрос - можно ли добиться такого же эффекта без применения закраски методами tabledoc с помощью dynwrapex?
  

Tabledoc_BkGndColor.ert ( 33 KB | Загрузки )
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #35 - 18. Августа 2011 :: 07:00
Печать  
Тут такой подход не прокатит, т.к. фон отрисовывается в сообщении WM_PAINT.
Буду смотреть, как это можно обойти.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #36 - 18. Августа 2011 :: 07:15
Печать  
друзья, расслабьтесь пока.
http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/474#474
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #37 - 24. Августа 2011 :: 14:09
Печать  
chessman писал(а) 17. Августа 2011 :: 14:59:
Такое бывает, но только, когда нештатная ситуация, ну например, если я в отладчике сижу.

Что то у меня в терминале 1С валиться часто стала..  Смущённый
Честно говоря, почему то грешу на установку цвета фона тулбара..
(напихал их много где, при последовательном открытии окон с тулбарами в какой то момент падает..)
Проверю конечно, но все таки вопрос - насколько "безопасна" используемая техника подмены процедуры окна?
может ее как то деинициализировать надо по особому?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #38 - 24. Августа 2011 :: 15:00
Печать  
Какая ошибка?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #39 - 24. Августа 2011 :: 15:03
Печать  
1. ошибки нет - просто падает 1С..
2. на фоне этого периодически выскакивает сообщение про выполнение скрипта (писал выше)
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #40 - 24. Августа 2011 :: 17:17
Печать  
CaBaT писал(а) 24. Августа 2011 :: 15:03:
1. ошибки нет - просто падает 1С..
2. на фоне этого периодически выскакивает сообщение про выполнение скрипта (писал выше)


Тут я ничего определенного сказать не смогу. Если сделаешь тестовую базу и свой набор классов, то я потестирую!
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #41 - 25. Августа 2011 :: 05:07
Печать  
chessman писал(а) 24. Августа 2011 :: 17:17:
Тут я ничего определенного сказать не смогу. Если сделаешь тестовую базу и свой набор классов, то я потестирую!

Да это то я понимаю..
Попробую пока понять, с чем точно связана ошибка, тогда можно и тест пытаться рисовать..

UPD:
Погонял сейчас на рабочей базе - у меня локально уронить не получилось, а не терминале упало буквально с пол тыка..

Есть правда один момент - у меня немного разные версии компонент используются (в частности на боевой базе до сих пор стоит 1cpp версии 3.0.1.25, все никак не соберусь обновить - гонял последние сборки локально, вроде косяков нет, надо бы обновить..)

И еще - удалось таки поймать окошко с ошибкой от скриптового движка - на терминале появилось следом за сообщением о "сворачивании" 1С

UPD 2:
Временно отключил функцию установки цвета тулбара - уронить сходу базу не получается..
Возвращаю назад установку фона прямо при открытой базе - практически сразу после открытия/закрытия нескольких окон с тулбарами валится 1с со свистом..

Все таки по ощущениям - что то не так с перехватом оконной функции (возможно с ее деинициализацией?)..
И причем локально у меня падает, но на порядок реже..
« Последняя редакция: 25. Августа 2011 :: 09:43 - CaBaT »  

ScriptControl.jpg ( 9 KB | Загрузки )
ScriptControl.jpg
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #42 - 25. Августа 2011 :: 15:40
Печать  
Потестируй этот вариант класса.
  

DWX_WM_ERASEBKGND.zip ( 2 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #43 - 26. Августа 2011 :: 05:25
Печать  
Ок, спасибо  Улыбка

UPD:
Не помогло..
Насколько вижу, в код добавилась одна строка при разрушении окна
Код
Выбрать все
WindowProc = Wrap.CallWindowProc(WND.oldProc, hWnd, uMsg, wParam, lParam) 


Все таки сворачивание 1С с этим связано - как только включаю функционал установки фона, падает буквально с 3-5 открытий форм с тулбаром, отключаю - уронить сходу не получается..

UPD2:
А компоненты я на всяк случай обновил - так что бы условия были одинаковые на терминале и у меня локально..
Вот список:
Код
Выбрать все
1cpp.dll (версия: 3.2.3.16)
formex.dll (версия: 2.0.5.92)
1sqlite.dll (версия: 1.0.2.4)
tabledoc.dll (версия: 0.1.1.45)
rwidjets.dll (версия: 1.4.0.3)
V7AppProfile.dll (версия: 1.0.0.1) 



UPD3:
В итоге, как выяснилось, в тестовой базе локально я все таки использовал такой же набор компонент, как на сервере Улыбка
Так что непонятно, почему локально у меня не падает..

UPD4:
Подумалось - на серваке наверное DEP включен, у меня кажется нет, может это как то влияет..
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #44 - 26. Августа 2011 :: 06:25
Печать  
Значит в терминале есть какие-то особенности, о которых я не знаю. А в какой момент падает-открытия или закрытия формы?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #45 - 26. Августа 2011 :: 06:29
Печать  
chessman писал(а) 26. Августа 2011 :: 06:25:
Значит в терминале есть какие-то особенности, о которых я не знаю. А в какой момент падает-открытия или закрытия формы?

Вот ведь в чем дело - у меня на терминале нет админских прав, так что может и я чего то не знаю..
(пока попробую выяснить, не включен ли DEP, он вроде может влиять на такие фокусы с dynwrapex?)

Падает в момент открытия, но это же собственно не значит, что проблема именно при открытии?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #46 - 26. Августа 2011 :: 06:39
Печать  
Попробуй пока открыть несколько форм с тем примером, который я выкладывал выше.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #47 - 26. Августа 2011 :: 06:57
Печать  
chessman писал(а) 26. Августа 2011 :: 06:39:
Попробуй пока открыть несколько форм с тем примером, который я выкладывал выше.

Да точно, это вариант  Язык

Кстати - режим DEP на сервере был включен, сейчас его по моей просьбе отключили для процессов 1С, так что после плановой перезагрузки сервера (видимо это будет уже на сл. неделе) проверю, может что-нибудь измениться..

UPD:
DEP на сервере по моей просьбе для процесса 1С отключили, но проблему это не решило..

UPD2:
2-го улетаю в отпуск на 3 недели, так что решение проблемы видимо откладывается до 26.09..
« Последняя редакция: 30. Августа 2011 :: 06:23 - CaBaT »  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #48 - 05. Сентября 2011 :: 08:03
Печать  
У тебя Citrix?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #49 - 05. Сентября 2011 :: 14:48
Печать  
Нет, обычный 2003 терминал.
(Правда сейчас скорее море и пальмы  Улыбка)
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #50 - 05. Сентября 2011 :: 14:54
Печать  
CaBaT писал(а) 05. Сентября 2011 :: 14:48:
Нет, обычный 2003 терминал.
(Правда сейчас скорее море и пальмы  Улыбка)


т.е. ты просто заходишь на удаленный рабочий стол и запускаешь там 1С?

Если это так, то я сегодня тестировал у себя, на том простом примере, что выложен выше - ни разу не удалось положить 1С(открывал/закрывал и снова открывал одновременно несколько форм с тулбаром, даже несколько баз открывал для теста)

CaBaT писал(а) 05. Сентября 2011 :: 14:48:
(Правда сейчас скорее море и пальмы  Улыбка)


Только что сам вернулся Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #51 - 06. Сентября 2011 :: 09:58
Печать  
Ок, после отпуска погоняю еще твой пример, попытаюсь понять, от чего падает..
Но в любом случае связано с этим, так как после отключения падать перестает..
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #52 - 06. Сентября 2011 :: 11:01
Печать  
CaBaT писал(а) 06. Сентября 2011 :: 09:58:
Ок, после отпуска погоняю еще твой пример, попытаюсь понять, от чего падает..
Но в любом случае связано с этим, так как после отключения падать перестает..


Возможно проблема связана с тем, что у тебя используется DLL+исправляющий скрипт (хотя тоже должно работать по идее), но в любом случае, обнови для начала DLLку.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #53 - 06. Сентября 2011 :: 13:27
Печать  
Ок, это тоже попробую, спасибо.

UPD:
Вот я лошара!
У меня на боевой базе вроде не вызывается скрипт, исправляющий dll..
Вернусь – проверю..
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #54 - 06. Сентября 2011 :: 13:46
Печать  
CaBaT писал(а) 06. Сентября 2011 :: 13:27:
Ок, Вернусь – проверю..


Хорошего отдыха!  Улыбка
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #55 - 15. Сентября 2011 :: 09:03
Печать  
Попытался использовать автоматическое закрытие системных диалогов
но при попытке
Wrap = СоздатьОбъект("DynamicWrapperX");
было сказано что отсутствует CLSID Печаль
regsvr32 компоненте сделал. Компоненту взял из последнего поста форума script-coding.info
Не подскажите в чем может быть дело?
  
Наверх
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #56 - 15. Сентября 2011 :: 09:53
Печать  
leshik писал(а) 15. Сентября 2011 :: 09:03:
было сказано что отсутствует CLSID Печаль
regsvr32 компоненте сделал


А regsvr32 что ответила при регистрации?
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #57 - 15. Сентября 2011 :: 11:03
Печать  
Успешно зарегестрирован.
Windows 2003 R2 dll расположена в каталоге ИБ на компьютере по сети
  
Наверх
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: ActiveX компонент DynamicWrapperX
Ответ #58 - 15. Сентября 2011 :: 12:36
Печать  
leshik писал(а) 15. Сентября 2011 :: 11:03:
Успешно зарегестрирован.
Windows 2003 R2 dll расположена в каталоге ИБ на компьютере по сети

Печаль Честно говоря даже не знаю, попробуй комп перегрузить, хотя должно работать сразу.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: ActiveX компонент DynamicWrapperX
Ответ #59 - 16. Сентября 2011 :: 04:26
Печать  
Положил dll в bin, заново зарегестрировал, перезагрузил сервер и все заработало.
Спасибо!
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать