Переключение на Главную Страницу Страницы: [1] 2 3 ... 5 ОтправитьПечать
Очень популярная тема (более 25 ответов) Ошибка наследования или проблемы ИТЗ? (число прочтений - 15154 )
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Ошибка наследования или проблемы ИТЗ?
26. Февраля 2008 :: 12:05
Печать  
Не знаю в чем конкретно проблема, столкнулся при работе с индексированной таблицей.
Смысл ошибки в том, что при разном порядке объявления базовых классов работа наследуемых методов класса отличается, при этом методы не пересекаются.

Тест прилагается, просьба проверить.
  

TestIT_001.zip ( 14 KB | Загрузки )
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #1 - 26. Февраля 2008 :: 16:34
Печать  
Подтверждаю.
Похоже, что проблемы у ИТЗ. Ибо с ТаблицейЗначений аналогичный код работает.

P.S. Даже если в конструкторе спросить Сам().КоличествоКолонок(), то в сбойном варианте будет 0, хе-хе... Прямо готовый юниттест.
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #2 - 26. Февраля 2008 :: 16:44
Печать  
А по-моему, это калечная реализация множественного наследования в 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: Ошибка наследования или проблемы ИТЗ?
Ответ #3 - 26. Февраля 2008 :: 16:46
Печать  
kms писал(а) 26. Февраля 2008 :: 16:44:
А по-моему, это калечная реализация множественного наследования в 1cpp.

А почему ТаблицаЗначений работает?
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #4 - 26. Февраля 2008 :: 16:51
Печать  
Хотя нет... Похоже Миша прав. Вот такой код тоже ловит ту же проблему:

defcls.prm
Код
Выбрать все
class Базовый = Classes\Базовый.ert
{};

class ТестИТ1 = Classes\ТестИТ.ert : DynaValue, Базовый
{};

class ТестИТ2 = Classes\ТестИТ.ert : Базовый, DynaValue
{};
 



Базовый.ert
пустой

Classes\ТестИТ.ert
Код
Выбрать все
Функция Сам(Конт)
	Возврат Конт;
КонецФункции

Процедура Инит() Экспорт
	Сам(Контекст).ДобавитьСвойство("Ид1", 0);	//Идентификатор партии
	Сам(Контекст).ДобавитьСвойство("Партия", 1); //Объект партия
	Сам(Контекст).ДобавитьСвойство("Вес", 2); 	  // Вес контрольного взвешивания

	Сообщить(Сам(Контекст).КоличествоСвойств());
КонецПроцедуры // Конструктор
 



код клиента
Код
Выбрать все
Процедура Сформировать()
	ИТЗ = СоздатьОбъект("ТестИТ1");
	ИТЗ.Инит();
КонецПроцедуры

Процедура Сформировать2()
	ИТЗ = СоздатьОбъект("ТестИТ2");
	ИТЗ.Инит();
КонецПроцедуры
 



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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #5 - 26. Февраля 2008 :: 16:56
Печать  
fez писал(а) 26. Февраля 2008 :: 16:46:
kms писал(а) 26. Февраля 2008 :: 16:44:
А по-моему, это калечная реализация множественного наследования в 1cpp.

А почему ТаблицаЗначений работает?

хз, наверное, баг какой-то. Улыбка
Но тут 1cpp методы ИТ даже не дергает.

У меня давно нет доверия к реализации ООП - ну просто ему неоткуда было взяться.
Заниматься поддержкой существующего кода реально влом. Делать новый -  вроде как смысла нет.
Обратная совместимость и т.п.... вилы...

И потом, у нас уже есть альтернативная ООП у Орефкова.
Ну сколько можно разных реализаций одного и того же делать? Улыбка
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #6 - 26. Февраля 2008 :: 16:57
Печать  
fez писал(а) 26. Февраля 2008 :: 16:51:
То есть проблема похоже в наследовании от внутренних классов 1С++.

Надо все же кому-то разобраться потом будет...
Наверняка, решение можно найти.
  

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: Ошибка наследования или проблемы ИТЗ?
Ответ #7 - 26. Февраля 2008 :: 17:01
Печать  
kms писал(а) 26. Февраля 2008 :: 16:56:
И потом, у нас уже есть альтернативная ООП у Орефкова.

У Вас есть? Или у Орефкова есть? Или я форум "Репозиторий" давно не смотрел? Улыбка
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #8 - 26. Февраля 2008 :: 17:06
Печать  
fez писал(а) 26. Февраля 2008 :: 17:01:
kms писал(а) 26. Февраля 2008 :: 16:56:
И потом, у нас уже есть альтернативная ООП у Орефкова.

У Вас есть? Или у Орефкова есть? Или я форум "Репозиторий" давно не смотрел? Улыбка

У нас есть пока только у Орефкова Улыбка
  

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: Ошибка наследования или проблемы ИТЗ?
Ответ #9 - 26. Февраля 2008 :: 17:15
Печать  
kms писал(а) 26. Февраля 2008 :: 17:06:
У нас есть пока только у Орефкова Улыбка

Ну да, извини, не вчитался Улыбка
  
Наверх
www  
IP записан
 
Nick
God Member
*****
Отсутствует



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

Зарегистрировал:
http://www.1cpp.ru/bugs/show_bug.cgi?id=3589
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #11 - 27. Февраля 2008 :: 05:15
Печать  
kms писал(а) 26. Февраля 2008 :: 16:56:
У меня давно нет доверия к реализации ООП - ну просто ему неоткуда было взяться.

-1
Как обычно, мало чем подтвержденное высказывание Печаль Печаль

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

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: Ошибка наследования или проблемы ИТЗ?
Ответ #12 - 27. Февраля 2008 :: 07:52
Печать  
Первый вывод - ошибка очень-очень старая, т.к. повторяется, например, на релизе 2.0.1.1.
В сборке 2.0.3, соответственно, баг также присутствует.

Видимо, народ мало юзает множественное наследование, раз баг до сих пор существовал незамеченным, или мы просто обходили его стороной, не обращая внимания.
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #13 - 27. Февраля 2008 :: 07:55
Печать  
artbear писал(а) 27. Февраля 2008 :: 05:15:
kms писал(а) 26. Февраля 2008 :: 16:56:
У меня давно нет доверия к реализации ООП - ну просто ему неоткуда было взяться.

-1
Как обычно, мало чем подтвержденное высказывание Печаль Печаль

Для плохо владеющих логикой и русским языком - объясняю: это высказывание, выражающее личное отношение автора.
Никаких подтверждений здесь не нужно.

Впрочем, здесь есть несколько веток, где мои претензии к реализации ООП в 1cpp высказаны подробно.
К сожалению, чтобы их понять, нужно обладать хотя бы средней логикой и (как ни странно) некоторыми фундаментальными знаниями.
Так что, боюсь, как обычно, предметно поговорить не получится. Улыбка
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка наследования или проблемы ИТЗ?
Ответ #14 - 27. Февраля 2008 :: 08:17
Печать  
kms писал(а) 27. Февраля 2008 :: 07:55:
artbear писал(а) 27. Февраля 2008 :: 05:15:
kms писал(а) 26. Февраля 2008 :: 16:56:
У меня давно нет доверия к реализации ООП - ну просто ему неоткуда было взяться.

-1
Как обычно, мало чем подтвержденное высказывание Печаль Печаль

Для плохо владеющих логикой и русским языком - объясняю: это высказывание, выражающее личное отношение автора.
Никаких подтверждений здесь не нужно.

Высказывание, ничем не подтвержденное, высказывай где-нибудь в другом месте и о других вещах.
Здесь, на тематическом форуме, ИМХО это звучит совсем не корректно, что, впрочем, типично для тебя.

kms писал(а) 27. Февраля 2008 :: 07:55:
Так что, боюсь, как обычно, предметно поговорить не получится.

Ага, как всегда, уходишь от ответа Печаль

ЗЫ Народ, извините, но не смог сдержаться Печаль
Больше оффтопить в этой ветке не буду.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 ... 5
ОтправитьПечать