Как задать высоту строки в DBGrid
От: DDS  
Дата: 10.07.04 10:14
Оценка:
Как задать высоту строки в DBGrid. Програмно, в Runtime
новый компонент не надо создавать
Re: Как задать высоту строки в DBGrid
От: Softwarer http://softwarer.ru
Дата: 10.07.04 12:32
Оценка:
Здравствуйте, DDS, Вы писали:

DDS>Как задать высоту строки в DBGrid. Програмно, в Runtime


type TCrackDBGrid = class (TDBGrid);
...
TDBGrid (DBGrid1).DefaultRowHeight := 48;


Должно сработать
Re[2]: Как задать высоту строки в DBGrid
От: Softwarer http://softwarer.ru
Дата: 10.07.04 12:33
Оценка:
Здравствуйте, Softwarer, Вы писали:

Виноват, спешу. Естественно,

TCrackDBGrid (DBGrid1).DefaultRowHeight := 48;
Re[2]: Как задать высоту строки в DBGrid
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 11.07.04 07:54
Оценка:
Кстати, интересная ситуация. Следует ли считать хаком получение доступа к Protected-элементу класса? Вряд ли, ведь если от него отнаследоваться, так и так все будет видно!

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[3]: Как задать высоту строки в DBGrid
От: Softwarer http://softwarer.ru
Дата: 12.07.04 06:26
Оценка:
Здравствуйте, Slicer [Mirkwood], Вы писали:

SM>Кстати, интересная ситуация. Следует ли считать хаком получение доступа к Protected-элементу класса? Вряд ли, ведь если от него отнаследоваться, так и так все будет видно!


Будет видно _изнутри_ класса-наследника. Хаком является получение доступа к protected-элементу из любого места кода, обеспечиваемая дружественностью.

С моей точки зрения, написав класс, я беру на себя ответственность за его поведение. То есть я могу написать наследника от TDBGrid, опубликовать в нем все, что считаю нужным, приписать своего кода — вопросов нет, я явно что-то делаю и отвечаю за это. Подобным же крэк-классом — хотя они, бесспорно, удобны — я лезу внутрь чужого класса из своего (не наследника), что имхо некорректно.
Re[4]: Как задать высоту строки в DBGrid
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 12.07.04 07:42
Оценка:
SM>>Кстати, интересная ситуация. Следует ли считать хаком получение доступа к Protected-элементу класса? Вряд ли, ведь если от него отнаследоваться, так и так все будет видно!
S>Будет видно _изнутри_ класса-наследника. Хаком является получение доступа к protected-элементу из любого места кода, обеспечиваемая дружественностью.
Ну а тот объявляет эти элементы публичными, и прочие объекты читают их без всякого хака.

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[5]: Как задать высоту строки в DBGrid
От: Softwarer http://softwarer.ru
Дата: 12.07.04 08:01
Оценка:
Здравствуйте, Slicer [Mirkwood], Вы писали:

SM>Ну а тот объявляет эти элементы публичными, и прочие объекты читают их без всякого хака.


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

Теперь, допустим, я делаю крэк-класс, после чего в очередной версии TCustomGrid. Убирают свойство DefaultRowHeight. В случае, если я написал полноценного наследника, куда идет программист — правильно, ко мне, за новой версией моего класса. Если же я написал крэк класс, куда идет программист? полагаю, ответ озвучивать не требуется.

Именно в этом и заключается "хаковость". Крэк-класс не дает собственного, устойчивого интерфейса, а предоставляет доступ к чужому, который этот чужой хотел скрыть. Корректность операций ложится не на плечи автора класса, а на плечи пользователя, который в каждом конкретном случае использует крэк-класс.
Re[6]: Как задать высоту строки в DBGrid
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 12.07.04 08:08
Оценка:
Вообще-то, верно

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.