Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Плавающий глюк при сочетании многих условий (число прочтений - 13870 )
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #15 - 18. Марта 2008 :: 11:24
Печать  
Алексей, да я уже почти разобрался.
Ошибку локализовал точно Улыбка и вижу баг.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #16 - 18. Марта 2008 :: 11:26
Печать  
Все, разобрался и баг пофиксил Улыбка
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #17 - 18. Марта 2008 :: 11:32
Печать  
Мой баг, скажу честно Печаль Улыбка
Как оно раньше работало, вообще не пойму Улыбка
Как хреново жить без тестов, использовать копи-паст и reinterpret_cast Печаль
Самая главная ошибка - вот
Код
Выбрать все
wrapper_CAppFrame_OnDoMessageBox.DoWrap(hBl, "?OnDoMessageBox@CBLModule@@UAEHPBDII@Z", (CAppFrame_PF_OnDoMessageBox)Wrap_CAppFrame_OnDoMessageBox);
wrapper_CBLModule7_DoMessageBox.DoWrap(hFrame, "?DoMessageBox@CAppFrame@@UAEHPBDII@Z", (CBLModule7_PF_DoMessageBox)Wrap_CBLModule7_DoMessageBox); 


а нужно
Код
Выбрать все
wrapper_CAppFrame_OnDoMessageBox.DoWrap(hFrame, "?DoMessageBox@CAppFrame@@UAEHPBDII@Z", (CAppFrame_PF_OnDoMessageBox)Wrap_CAppFrame_OnDoMessageBox);
wrapper_CBLModule7_DoMessageBox.DoWrap(hSeven, "?OnDoMessageBox@CBLModule7@@UAEHPBDI@Z", (CBLModule7_PF_OnDoMessageBox)Wrap_CBLModule7_OnDoMessageBox); 



Т.е. я мало того, что перепутал порядок функций для этих перехватов, но и указал неверную функцию 1С для перехвата CBLModule7 Улыбка
Но ведь работало же Улыбка

В общем, баг пофиксен.
Алексею отправлю исходники позже.

Если нужно, могу выложить правленную сборку ФормЕкс
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #18 - 18. Марта 2008 :: 11:37
Печать  
Алексею исходники отправил, там всего один файл в итоге изменился Улыбка
Так что, надеюсь, скоро увидим исправленную сборку.

ЗЫ Алексей, после выкладывания сборки, плиз, отправь мне свои полные последние исходники ФормЕкс, ок?
  

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



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #19 - 18. Марта 2008 :: 11:39
Печать  
А я с последнего нашего обмена ни чего не правил в исходниках. Так что и отправлять-то нечего.
  

FormEx developer
Наверх
www  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #20 - 18. Марта 2008 :: 11:58
Печать  
Подправленный релиз выложен.
Федор, посмотри, плиз, у себя.
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #21 - 18. Марта 2008 :: 15:39
Печать  
artbear писал(а) 18. Марта 2008 :: 11:37:
Алексею исходники отправил, там всего один файл в итоге изменился Улыбка
Так что, надеюсь, скоро увидим исправленную сборку.


Остальные косяки формекса бы поправить Печаль
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #22 - 18. Марта 2008 :: 15:48
Печать  
Артем, какие, например?
  

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: Плавающий глюк при сочетании многих условий
Ответ #23 - 18. Марта 2008 :: 15:51
Печать  
Дык все по правильному сделано Улыбка

Все кроме первого для меня важны Улыбка
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #24 - 18. Марта 2008 :: 15:56
Печать  
3470 неужели по ФормЕксу, а не TableDoc ?
  

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: Плавающий глюк при сочетании многих условий
Ответ #25 - 18. Марта 2008 :: 18:05
Печать  
artbear писал(а) 18. Марта 2008 :: 15:56:
3470 неужели по ФормЕксу, а не TableDoc ?

Артур, а ты в него заходил? Улыбка
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #26 - 19. Марта 2008 :: 06:04
Печать  
Цитата:
Подправленный релиз выложен.
Федор, посмотри, плиз, у себя.

Да, теперь не падает, спасибо.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #27 - 19. Марта 2008 :: 06:07
Печать  
artbear писал(а) 18. Марта 2008 :: 09:06:
Прикольно, я эту конфу в Конфигураторе даже открыть не могу Печаль
Количество объектов GDI доходит до 1600 и Конфигуратор падает Улыбка
Плагины придется отключать Печаль

Есть два способа решения этой проблемы.
1. http://www.1cpp.ru/forum/YaBB.pl?num=1179319930
2. Разобраться наконец-то с vis1cpp, который течет по GDI и USER объектах на классах, хранящихся внутри конфигурации. Причем утечка настолько наглядна, что ее можно в учебниках в качестве примера приводить.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #28 - 19. Марта 2008 :: 06:53
Печать  
Повторюсь Улыбка
artbear писал(а) 18. Марта 2008 :: 08:41:
классы ТестовыйСлучайФормы и ДелегатФормы старые Печаль с ними и на конфе тестирования 1С++ были глюки.
Закачай эти классы из конфы тестирования 1С++ и вообще убери обработку ожидания, если она использовалась только для проверки закрытия форм.

1. Замени указанные классы, тесты будут более стабильны.
2. Объясни мне смысл обработки ожидания - ведь пока тесты не завершены, она же ничего не делает, только таймер заново запускает.
Вот код запуска тестов
Код
Выбрать все
 Сначала включение обработки ожидания и т.д., а теперь код
Результат=СоздатьОбъект("РезультатТеста");
НаборТестов.Запустить(Результат, флСообщатьОПрогрессе);
ОжиданиеГотовности(); // сюда попадем только после завершения тестирования !! 


[url]Вот код обработки ожидания[/url]
Код
Выбрать все
Процедура ОжиданиеГотовности()
	ВключитьТаймер(0);
	Если НаборТестов.Выполнен()=0 Тогда
		ВключитьТаймер(50);
		Возврат;
	КонецЕсли;

	...
КонецПроцедуры 


Насколько я изучил систему тестирования, а я думал, что очень хорошо Улыбка, выхода из основного кода НаборТестов.Запустить все равно не будет, пока тесты не будут завершены.
Т.е. обработка ожидания не имеет никакого смысла Улыбка
Или я что-то недопонимаю Печаль ?
Федор, объяснишь?
  

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


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Плавающий глюк при сочетании многих условий
Ответ #29 - 19. Марта 2008 :: 07:05
Печать  
Обработка ожидания использовалась только для проверки закрытия формы.
Это творение sedmin'а

Несомненно я посмотрю в код тестирования 1С++. Мне самому не нравится решение с ожиданием.
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать