Переключение на Главную Страницу Страницы: 1 [2] 3 4 5 ОтправитьПечать
Очень популярная тема (более 25 ответов) Ошибка наследования или проблемы ИТЗ? (число прочтений - 15166 )
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #15 - 27. Февраля 2008 :: 08:28
Печать  
Причину бага нашел.
Все очень просто оказалось Улыбка, т.е. как я и думал.
Скоро залью.
  

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: Ошибка наследования или проблемы ИТЗ?
Ответ #16 - 27. Февраля 2008 :: 08:31
Печать  
artbear писал(а) 27. Февраля 2008 :: 07:52:
Видимо, народ мало юзает множественное наследование

Если Палыч нас еще не совсем покинул, то множественное наследование для него будет как красная тряпка Улыбка
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #17 - 27. Февраля 2008 :: 08:32
Печать  
artbear писал(а) 27. Февраля 2008 :: 05:15:
Постараюсь на этой неделе посмотреть тест и разобраться.

Артур, ты опять в наших рядах? Улыбка
Ну ее эту восьмерку, а...
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #18 - 27. Февраля 2008 :: 08:47
Печать  
Arta писал(а) 27. Февраля 2008 :: 08:32:
artbear писал(а) 27. Февраля 2008 :: 05:15:
Постараюсь на этой неделе посмотреть тест и разобраться.

Артур, ты опять в наших рядах? Улыбка
Ну ее эту восьмерку, а...

Да я вроде и не бросал насовсем Улыбка
Просто проектов на 7.7 живых нету Печаль
  

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: Ошибка наследования или проблемы ИТЗ?
Ответ #19 - 27. Февраля 2008 :: 08:50
Печать  
artbear писал(а) 27. Февраля 2008 :: 08:28:
Причину бага нашел.
Все очень просто оказалось Улыбка, т.е. как я и думал.
Скоро залью.

Ошибка исправлена и залита в репозитарий.
Будет в завтрашней сборке.


ЗЫ вопрос тем, кто на 2.0.3 - нужно ли ее исправлять.
Замена проста - <= заменить на < Улыбка в одном, нужном месте.
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #20 - 27. Февраля 2008 :: 09:01
Печать  
artbear писал(а) 27. Февраля 2008 :: 08:17:
Высказывание, ничем не подтвержденное, высказывай где-нибудь в другом месте и о других вещах.

Забавно, когда принципиальный недоучка берется учить других жизни. Улыбка
Впрочем, это распространенное явление в наши дни.

Ты хочешь, чтобы я предметно объяснил тебе, кто ты есть?
Без проблем (все в одной процедуре):
Код
Выбрать все
void CGCBoost::RefreshGroupContextData(CGroupContext* pGroupContext)
...
	SGCData* pData = pContextInfo->m_pData;
	bool bNeedDeleteData = !pData->m_Destroy;
	delete pContextInfo;
	if (bNeedDeleteData)
		delete pData;

 


Двойное удаление объекта.

Код
Выбрать все
void CGCBoost::RefreshGroupContextData(CGroupContext* pGroupContext)
...
delete [] m_pMyVTable;
 



Человек, который ВЫШИБАЕТ VTBL изо ВСЕХ активных контекстов - НЕ ДОЛЖЕН браться за такие вещи, как TurboBL.
Это не ошибка, это отсутствие понимания того, что ты делаешь.
И если логика отсутствует как класс, никакие тесты здесь не помогут.

С таким уровнем, Артур, я не считаю, что тебе стоит заниматься чем-то, кроме прикладных классов, от которых ничего не зависит.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #21 - 27. Февраля 2008 :: 09:08
Печать  
kms
Я не понимаю цель тоих высказываний. Вроде одно дело делаете, видишь что товарищ что то делает не так, объясни ему. А так ни какой практической пользы от твоих высказываний для проекта нет. Только воду мутишь Печаль
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #22 - 27. Февраля 2008 :: 09:12
Печать  
Nick писал(а) 27. Февраля 2008 :: 09:08:
kms
Я не понимаю цель тоих высказываний. Вроде одно дело делаете, видишь что товарищ что то делает не так, объясни ему. А так ни какой практической пользы от твоих высказываний для проекта нет. Только воду мутишь Печаль

Мы делаем разное дело.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #23 - 27. Февраля 2008 :: 09:14
Печать  
Цитата:
Мы делаем разное дело.


Так может попробовать объединить усилия?
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #24 - 27. Февраля 2008 :: 09:17
Печать  
Nick писал(а) 27. Февраля 2008 :: 09:08:
kms
Я не понимаю цель тоих высказываний. Вроде одно дело делаете, видишь что товарищ что то делает не так, объясни ему. А так ни какой практической пользы от твоих высказываний для проекта нет. Только воду мутишь Печаль

Для того, чтобы понять суть дела, надо понимать, что такое "удаление VTBL для активных объектов".
Ты в состоянии понять эту суть?

Если да, я готов говорить с тобой.
Если нет, то просьба не заниматься пустой болтовней.

P.S.
Из тех, кто может понять эту проблему - я знаю всего троих на этом форуме.
Ни один из этих людей больше в развитии 1cpp участвовать не желает.

Может, так тебе будет понятна цель моих высказываний?
И, может быть так, будет легче отличить добро и зло и определиться "что такое хорошо и что такое плохо"?
  

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: Ошибка наследования или проблемы ИТЗ?
Ответ #25 - 27. Февраля 2008 :: 09:20
Печать  
Артур, как ни странно, но я тут поддержу Михаила.
Ваш разговор выглядит примерно так.

- Что-то не нравится мне эта машинка
- Чё это вдруг тебе не нравится? Анукаобоснуйка, всем нравится, ни у кого претензий не было, а тебе вдруг не нравится! Срочно чтоб понравилось!
- Ну просто не нравится и все. Не лежит душа.
- Ну вот, как обычно беспредметно съехал с темы, отстойник.
- Сам отстойник.

P.S. Постарайтесь снизить накал перепалки. ОБА постарайтесь. Пожалуйста.
P.P.S. Подсказка. Для этого достаточно перед написанием каждого ответа сделать паузу в пять... нет, лучше в десять минут.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #26 - 27. Февраля 2008 :: 09:26
Печать  
kms писал(а) 27. Февраля 2008 :: 09:01:
Без проблем (все в одной процедуре):
Код
Выбрать все
void CGCBoost::RefreshGroupContextData(CGroupContext* pGroupContext)
...
	SGCData* pData = pContextInfo->m_pData;
	bool bNeedDeleteData = !pData->m_Destroy; // п.1
	delete pContextInfo; // п.2
	if (bNeedDeleteData)
		delete pData; // п.3

 


Двойное удаление объекта.

1) Умник, ты хотя бы код более подробно смотрел, а?
Расшифровываю для тебя:
вызов п.2 - это
Код
Выбрать все
				~SGCInfo(){m_pData->Remove();} 


Вызыывает
Код
Выбрать все
		void SGCData::Remove()
		{
			if(m_Destroy)
				delete this;
		}
 


ни о чем тебе не говорит, а?
Или еще более подробно расписать, что означает m_Destroy и bool bNeedDeleteData = !pData->m_Destroy ?

По удалению вирт.таблицы постараюсь вспомнить и сказать более подробно.
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #27 - 27. Февраля 2008 :: 09:27
Печать  
Ребята, давайте остынем.

Я думаю, не стоит сводить все к эмоциональному шуму.

Я выражаю свою позицию, которая на данный момент не подлежит изменению.
Я прекрасно понимаю, что с профессиональной точки зрения, меня здесь могут понять полтора человека.
Мне этого достаточно.

Остальных прошу не волноваться, бросить луки и копья.
Все будет хорошо. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #28 - 27. Февраля 2008 :: 09:29
Печать  
Цитата:
Может, так тебе будет понятна цель моих высказываний?
И, может быть так, будет легче отличить добро и зло и определиться "что такое хорошо и что такое плохо"?


Я не говорю что этот код правильный, я говорю о том что раз ты знаешь что это неправильно так сделай пост вветке разработка и устрой там ликбез
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #29 - 27. Февраля 2008 :: 09:36
Печать  
Nick писал(а) 27. Февраля 2008 :: 09:29:
Цитата:
Может, так тебе будет понятна цель моих высказываний?
И, может быть так, будет легче отличить добро и зло и определиться "что такое хорошо и что такое плохо"?


Я не говорю что этот код правильный, я говорю о том что раз ты знаешь что это неправильно так сделай пост вветке разработка и устрой там ликбез

Как ты думаешь, почему не осталось никого, кто хотел бы устраивать ликбез по таким случаям в разделе разработка? Подмигивание
Смотри, сейчас договоришься до того, что останешься исключительно с теми, кому этот ликбез как раз так необходим. Смех
  

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