Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) CDataRow (число прочтений - 4958 )
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
CDataRow
10. Мая 2008 :: 12:38
Печать  
Не совсем понял юмора с новодобавленными AddRef и Release. Вообще-то они должны быть виртуальными. Особенно, учитывая, что это базовый класс для многих других. (А также ревностное блюдение некоторыми товарищами чистоты ООП Подмигивание) Но что тогда делать с намертво вшитым туда счетчиком ссылок?

Предлагаю существующий класс переименовать в DataRowAutoDelete. Произвести глобальную замену во всех классах (кроме классов табличного поля) имени CDataRow на DataRowAutoDelete. Например, при помощи Visual Assist. Потом создать НОВЫЙ класс CDataRow с чисто виртуальными AddRef и Release. Этот новый класс сделать базовым для DataRowAutoDelete. Таким образом в классах ТП будет задействоваться CDataRow, а во всех "внешних" для ТП классах будет DataRowAutoDelete. В результате, существующий код не изменится, а в ТП можно будет использовать строки, самостоятельно управляющими временем своей жизни. Да и вообще оопышнее оно как-то будет. Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: CDataRow
Ответ #1 - 10. Мая 2008 :: 14:42
Печать  
CDataRow действительно чуток переделать не помешает, хотя насчет новодобавленных - это ты погорячился. Подмигивание
Планы есть, конечно.

Вопрос в другом, чем эти AddRef/Release тебе конкретно (кроме разговоров о погоде ООП) сейчас помешали?
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: CDataRow
Ответ #2 - 10. Мая 2008 :: 14:51
Печать  
kms писал(а) 10. Мая 2008 :: 14:42:
Вопрос в другом, чем эти AddRef/Release тебе конкретно (кроме разговоров о погоде ООП) сейчас помешали?

Потому что фиксируют интерфейс, который можно использовать в других модулях. А интерфейс нехороший. И вообще, не интерфейс, а фигня. Если интерфейс, то невиртуальных методов быть вообще не должно.

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: CDataRow
Ответ #3 - 10. Мая 2008 :: 14:54
Печать  
Не, хотелось бы как раз услышать о модулях, в которых можно использовать этот нехороший интерфейс. Подмигивание
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: CDataRow
Ответ #4 - 10. Мая 2008 :: 14:56
Печать  
kms писал(а) 10. Мая 2008 :: 14:54:
Не, хотелось бы как раз услышать о модулях, в которых можно использовать этот нехороший интерфейс. Подмигивание

Уже есть готовый провайдер для ТП, который осталось слегка переделать.

Я не понял, а что информация о возможных модулях как-то отменит кривизну интерфейса?
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: CDataRow
Ответ #5 - 10. Мая 2008 :: 15:35
Печать  
Uzhast писал(а) 10. Мая 2008 :: 14:56:
Уже есть готовый провайдер для ТП, который осталось слегка переделать.

Ну, мне надо как-то определять приоритеты.

Если у тебя проблемы из-за недостатков реализации, это одно.
Если просто общие рассуждения - это другое.

Цитата:
Я не понял, а что информация о возможных модулях как-то отменит кривизну интерфейса?

Разница порядковом номере странички для очередной заявочки в моем журнальчике планчиков.
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: CDataRow
Ответ #6 - 10. Мая 2008 :: 15:37
Печать  
kms писал(а) 10. Мая 2008 :: 15:35:
Разница порядковом номере странички для очередной заявочки в моем журнальчике планчиков.

Если хошь, я и сам могу замену из первого поста сделать.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: CDataRow
Ответ #7 - 10. Мая 2008 :: 15:39
Печать  
Uzhast писал(а) 10. Мая 2008 :: 15:37:
kms писал(а) 10. Мая 2008 :: 15:35:
Разница порядковом номере странички для очередной заявочки в моем журнальчике планчиков.

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

Может лучше все же смартпойнтеры использовать вместо AddRef/Release?
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: CDataRow
Ответ #8 - 10. Мая 2008 :: 15:42
Печать  
kms писал(а) 10. Мая 2008 :: 15:39:
Может лучше все же смартпойнтеры использовать вместо AddRef/Release?

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: CDataRow
Ответ #9 - 10. Мая 2008 :: 15:45
Печать  
Там сейчас много чего переделывать надо.
Так что от забора до обеда или до ужина - погоды не сделает. Улыбка

Надо только собраться.
За что тебя ценю - ты всегда вовремя появляешься со своей мотивационной миссией. Подмигивание
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: CDataRow
Ответ #10 - 10. Мая 2008 :: 15:48
Печать  
Не, ну если ты над ТП активно работаешь, то фиг с ним, с интерфейсом. Без проблем, сделаю и на том, что есть. Естественно, после изменения интерфейсов эту хреновину понадобится переделать, ну и хрен с ним Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: CDataRow
Ответ #11 - 12. Мая 2008 :: 09:31
Печать  
Uzhast писал(а) 10. Мая 2008 :: 15:48:
Не, ну если ты над ТП активно работаешь, то фиг с ним, с интерфейсом. Без проблем, сделаю и на том, что есть. Естественно, после изменения интерфейсов эту хреновину понадобится переделать, ну и хрен с ним Улыбка

Да не, лучше сразу исправить, раз такое дело.
http://www.1cpp.ru/bugs/show_bug.cgi?id=3831

Летать так летать... (в хорошем смысле). Улыбка
  

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