Переключение на Главную Страницу Страницы: 1 ... 12 13 [14] 15 16 ... 36 ОтправитьПечать
Очень популярная тема (более 25 ответов) TableDoc (число прочтений - 259131 )
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #195 - 22. Мая 2008 :: 23:10
Печать  
trad писал(а) 31. Марта 2008 :: 07:49:
0.1.0.14 (31.03.2008)

 ПолеТабличногоДокумента
   Поддержка интерфейса IV7ControlContext для совместимости с методом icpp/3.0 Форма::ПолучитьЭлементУправления(ЭлементДиалога)

Поломалося? У меня сам объект возвращается, но метод класса наследника не выполняется. Тишина, даже ошибки не вылазит.

P.S.
Элемент = _Форма.ПолучитьЭлементУправления(Атрибут.Идентификатор)
Информатор.ПолучитьТаблицуСвойств(Элемент)
Информатор.ПолучитьТаблицуСвойств(Элемент)
ничего не возвращают.

и строка(Элемент) = "ПолеТабличногоДокумента" вместо название класса наследника. Похоже тот же случай, что и у Степана был с активиксом.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #196 - 23. Мая 2008 :: 03:15
Печать  
А ведь юнит-тесты это дело легко бы отследили Улыбка
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #197 - 24. Мая 2008 :: 05:37
Печать  
Arta писал(а) 22. Мая 2008 :: 23:10:
Поломалося?
нет не поломалось, а изначально было сделано так, что интерфейс возвращал базовый класс.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #198 - 24. Мая 2008 :: 05:38
Печать  
artbear писал(а) 23. Мая 2008 :: 03:15:
А ведь юнит-тесты это дело легко бы отследили Улыбка

каким образом, учитывая #197 ?

off
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #199 - 24. Мая 2008 :: 05:52
Печать  
0.1.0.20 (24.05.2008)

  Расширенная область таблицы
    Добавлены свойства: ТипОбласти, Лево, Право, Верх, Низ
 
  ПолеТабличногоДокумента
    Изменения в работе интерфейса IV7ControlContext.
     Форма::ПолучитьЭлементУправления(ЭлементДиалога) возвращает ссылку на КОП если создавался ЭУ-наследник от ПоляТабличногоДокумента.

  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #200 - 24. Мая 2008 :: 06:08
Печать  
trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?

гламурненько  Подмигивание
Код
Выбрать все
int  CComponentClass::IsPropReadable(int iPropNum)const
{
	return 1;
}

int  CComponentClass::IsPropWritable(int iPropNum)const
{
	return 1;
}
 


  

1&&2&&3
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Новинка - TableDoc
Ответ #201 - 24. Мая 2008 :: 22:56
Печать  
trad писал(а) 24. Мая 2008 :: 05:52:
0.1.0.20 (24.05.2008) 
    Изменения в работе интерфейса IV7ControlContext.
     Форма::ПолучитьЭлементУправления(ЭлементДиалога) возвращает ссылку на КОП если создавался ЭУ-наследник от ПоляТабличногоДокумента.

Большой сенкс, теперь все гуд!

kms писал(а) 28. Апреля 2007 :: 06:26:
trad писал(а) 28. Апреля 2007 :: 04:20:
каких например.

Например при начале редактирования ячейки (с возможностью запрета) и при окончании.

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #202 - 26. Мая 2008 :: 03:43
Печать  
trad писал(а) 24. Мая 2008 :: 05:38:
artbear писал(а) 23. Мая 2008 :: 03:15:
А ведь юнит-тесты это дело легко бы отследили Улыбка

каким образом, учитывая #197 ?

Когда я отвечал, 197 еще не было Улыбка и я посчитал подобное поведение ошибкой Улыбка
После 197 вопрос снят.

trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.

Ну ты уже понял, что в классах все свойства по умолчанию и для записи, и для чтения Улыбка
Вопрос - нужно ли отслеживать подобное наследование от RO-свойств и соответственно делать, как у базовых классов ?
Тут ведь две ситуации -
1. Наследование и переопределение свойства базового класса со всеми ограничениями
2. Введение нового свойства (по ошибке или специально переопределяя свойство базового класса).
Лично я пока не знаю, как эти 2 случая отличить ?
Или мы решим, что переопределять свойства можно будет только как в п.1, т.е. с возможными ограничениями ?
ИМХО выполнить реализацию для п.1 несложно.
Жду ответа.
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #203 - 26. Мая 2008 :: 08:05
Печать  
artbear писал(а) 26. Мая 2008 :: 03:43:
Вопрос - нужно ли отслеживать подобное наследование от RO-свойств и соответственно делать, как у базовых классов ?

мне кажется нужно думать в направлении не "сделать как у базовых", а работать непосредственно с БЛ-интерфейсом базового.

Цитата:
1. Наследование и переопределение свойства базового класса со всеми ограничениями
2. Введение нового свойства (по ошибке или специально переопределяя свойство базового класса).

Попробую ответить, если я правильно понял твои мысли.

Наследование должно наследовать R/W ограничения (RO, WO, RW)
Переопределение свойств. В моей религии как бы нет такого понятия. Если КОП (наследник от ПоляТабличногоДокумента) например определяет свойство Таблица, то это его "параллельное" свойство никакого отношения не имеющее к RO свойству Таблица базового контекста. Отсюда следует, что одноименное свойство наследника не должно копировать R/W ограничения своего базового тезки, а определять свои (допустим для простоты это всегда будет RW)

Цитата:
Лично я пока не знаю, как эти 2 случая отличить ?
Или мы решим, что переопределять свойства можно будет только как в п.1, т.е. с возможными ограничениями ?
ИМХО выполнить реализацию для п.1 несложно.

ничего не могу сказать, т.к. очень плохо знаком с деталями реализации ООП в 1с++
  

1&&2&&3
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: TableDoc
Ответ #204 - 26. Мая 2008 :: 08:11
Печать  
artbear писал(а) 26. Мая 2008 :: 03:43:
trad писал(а) 24. Мая 2008 :: 05:38:
artbear писал(а) 23. Мая 2008 :: 03:15:
А ведь юнит-тесты это дело легко бы отследили Улыбка

каким образом, учитывая #197 ?

Когда я отвечал, 197 еще не было Улыбка и я посчитал подобное поведение ошибкой Улыбка
После 197 вопрос снят.

trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.

Ну ты уже понял, что в классах все свойства по умолчанию и для записи, и для чтения Улыбка
Вопрос - нужно ли отслеживать подобное наследование от RO-свойств и соответственно делать, как у базовых классов ?
Тут ведь две ситуации -
1. Наследование и переопределение свойства базового класса со всеми ограничениями
2. Введение нового свойства (по ошибке или специально переопределяя свойство базового класса).
Лично я пока не знаю, как эти 2 случая отличить ?
Или мы решим, что переопределять свойства можно будет только как в п.1, т.е. с возможными ограничениями ?
ИМХО выполнить реализацию для п.1 несложно.
Жду ответа.

Не вижу никаких сложностей, ограничений, различных ситуаций и тп.
Если свойство найдено в самом классе - возвращай то, что укажет этот класс.
Если свойство найдено в базовом классе - изволь возращать то, что возвращает базовый класс.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #205 - 26. Мая 2008 :: 08:15
Печать  
+
Обращаясь к одноименного свойсву наследника мы безусловно и обращаемся к нему, т.е. пререопределяем обращение к свойству, но не переопределяем само свойство базового. Т.е. у базового свойства сохраняются тип, значение и атрибуты доступа.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #206 - 26. Мая 2008 :: 08:22
Печать  
orefkov писал(а) 26. Мая 2008 :: 08:11:
Если свойство найдено в самом классе - возвращай то, что укажет этот класс.
Если свойство найдено в базовом классе - изволь возращать то, что возвращает базовый класс.

вот, товарищ из первого ряда очень точно сагрегировал мои мысли
  

1&&2&&3
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #207 - 26. Мая 2008 :: 10:58
Печать  
orefkov писал(а) 26. Мая 2008 :: 08:11:
Если свойство найдено в самом классе - возвращай то, что укажет этот класс.
Если свойство найдено в базовом классе - изволь возращать то, что возвращает базовый класс.

Согласен. Сделаю.
  

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: TableDoc
Ответ #208 - 26. Мая 2008 :: 11:00
Печать  
Зарегил соответствующий баг.
http://www.1cpp.ru/bugs/show_bug.cgi?id=3871
  

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: TableDoc
Ответ #209 - 26. Мая 2008 :: 11:55
Печать  
trad писал(а) 24. Мая 2008 :: 05:38:
Артур, ты лучше скажи, почему RO-свойство БЛКонтекста унаследованное КОПом превращается RW?
Почему ты не написал юнит-тест легко отслеживающий это дело.

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

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