Re: Как объявить свойство для грида в VCX | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Aijik!
Ну плохо я выразился, а ты уж к словам цепляешься Я именно про ограниченность создания иерархии в рамках одного класса и говорил - не про "использование" уже унаследованной иерархии... Насчёт member-объектов ты частично прав - в том смысле что МОЖНО наверное было когда-то сделать их "полноценными" объектами, но MS решило что т.к. они без своего контейнера нежизнеспособны (т.е. грубо говоря являются НЕОТЪЕМЛЕМОЙ частью контейнера) то и отдельных записей им не нужно. Исходя их этого конечно много чего вытекает... Однако это позволяет упростить ряд проверок, и например уже проблематично засунуть в грид что-то помимо колонки В общем тут палка о 2-х концах - с одной стороны колонка полноценный класс, а с другой - это неотъемлемая часть грида. Вот что касается хедера, то тут ситуация решена наоборот - но я так подозреваю, что это лишь СЛЕДСТВИЕ того что уже собственно колонка не является "нормальным" объектом - если бы ещё и хедер прописывался в записи о гриде - это было-бы жуткой мешаниной Я не считаю что "дефолтный" текстбокс и хедер есть неотъемлемые части колонки, и потому 100% уверен в правильности наличия отдельных записей для них в vcx/scx - тут подход другой - колонка в какой-то момент ПОСЛЕ или ВО ВРЕМЯ своей инициализации начинает вдруг заниматься "созданием дефолтных member-ов" - но только если к тому моменту их ещё нет - от того и несколько разное поведение в случаях когда member-объект описан ЯВНО и когда его нет - кстати это касается больше prg классов, т.к. для vcx/scx дизайнер сам создаёт дефолтные объекты - да так, что они становятся уже не дефолтными, а явно описанными! Хотя их всё-же можно явно удалить. Кстати свойства типа MemberClass двоякие - с одной стороны они в рантайме определяют какой класс взять для добавляемых через "инкремент счётчика" объектов, но с другой - они ведь и в Design-Time действуют! Причём MS весьма капитально перестраховалась от разного рода мусора и "неожиданностей" - уничтожая всё содержимое Memeber-объекта, при смене им класса - скажем аналогичное действие над собственно классами в ClassBrowser не имеет таких разрушительных последствий, хотя потенциально порождает "мусор" в vcx/scx... В общем надо признать, что нету совершенства в этой жизни ------------------ WBR, Igor |
Re: Как объявить свойство для грида в VCX | |
---|---|
Aijik Сообщений: 2145 Откуда: Ростов-на-Дону Дата регистрации: 08.01.2002 |
Цитата:Цепляться не имел в мыслях Что вижу, то и читаю: Цитата:Вот и решил на это и написать свой спич. Только и всего. Ну да ладно, недопоняли друг друга и фиг с ним Цитата:Я могу только еще раз повторить свое мнение - считаю, что это была ошибка, и имею подозрение, что все последующие проблемы member-классов, а особенно проблема сосуществования нескольких Column (CommandButton/Optionbutton/Page) разных классов в одном Grid'е (CommandGroup/OptionGroup/PageFrame), и убогая попытка "залатывания" этой проблемы посредством добавления новых свойств "MemberClass/MemberClasslib", вызвана именно этим. Цитата:Про хедер и текстбокс я уже подправил себя ранее. Мне кажется, что это оправдано - колонка, она-то реально "пустой" класс, а текстбокс и хедер суть добавленные объекты, потому тут согласен, касательно этих объектов отдельная запись - это логично Цитата:Да, я помню ту твою тему в разделе форума по VFP9. Полностью согласен - у MS получилось как из пушки по воробьям. Можно было и поизящнее это все разрулить. А теперь приходится для подмены класса буквой зю хакерить на низком уровне, ибо штатный способ проходит как Мамай и сносит к чертям все нажитое непосильным трудом ЗЫ Тут видимо, из-за проблем с сервером в пятницу с конфы исчез мой позапрошлый пост, бум надеяться, что не навсегда |
Re: Как объявить свойство для грида в VCX | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Aijik!
Цитата:Мне кажется что они и не думали этим "залатывать дыру" - IMHO совсем иные цели преследовались. Причём я полагаю что 80% "пожеланий общественности" этим простейшим способом всё-же удовлетворили - ибо редко когда требуются в пределах одного грида разные колонки (вот текстбоксы/прочие контролы - реально разные, а класс колонки IMHO вообще одного-двух на проект достаточно...) В общем это просто особый стиль - сложно сказать насколько он правильный ------------------ WBR, Igor |
© 2000-2024 Fox Club  |