Есть ли будущее у DELPHI?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.142] |
|
|
Правила раздела:
| Страницы: (245) « Первая ... 72 73 [74] 75 76 ... 244 245 ( Перейти к последнему сообщению ) |
Есть ли будущее у DELPHI?
|
Сообщ.
#1096
,
|
|
|
|
Где? По существу ответить нечего? Признай это и не прикидывайся клоуном. Добавлено Мне не нужен абсолют, мне нужен процент. Проблема в том, что при задании, например, процентного размера одной из строки, он не становится таким, как задан (а остальные делят оставшееся), а все размеры пересчитываются по какому-то безумному алгоритму. Добавлено Цитата --Ins-- @ Это тоже проблема Delphi? Я честно говоря не знаю, что такое TGridPanel, наверное компонент из поледних версий Delphi (вроде такой был, но я им не пользовался), но если там размеры задаются не в процентах, то это проблема Delphi или вопрос к разработчикам этого контрола?А чья? TGridPanel давно уже стандартный компонент VCL. Или (если разработчики не) Embarcadero совсем не следит за качеством того, что пихает в Delphi? Т.е. в любом случае ответ "Да, это проблема Delphi". |
|
Сообщ.
#1097
,
|
|
|
|
Цитата korvin @ А чья? TGridPanel давно уже стандартный компонент VCL. Или (если разработчики не) Embarcadero совсем не следит за качеством того, что пихает в Delphi? Т.е. в любом случае ответ "Да, это проблема Delphi". Проверил - компонент действительно ведет себя странно. Ну теперь да, Delphi точно капец |
|
Сообщ.
#1098
,
|
|
|
|
Цитата korvin @ Где? По существу ответить нечего? Признай это и не прикидывайся клоуном. Ты сначала вопрос задай по существу. Цитата korvin @ Мне не нужен абсолют, мне нужен процент. Проблема в том, что при задании, например, процентного размера одной из строки, он не становится таким, как задан (а остальные делят оставшееся), а все размеры пересчитываются по какому-то безумному алгоритму. Понял. Тут поможет только Alt + F12. Добавлено Цитата korvin @ Например скажи мне, как связать TEdit с published string-полем объекта моего класса? Как мне вообще создать объект моего класса в вesign-time без всех этих специальных манипуляций по созданию компонента, описанных в статье на RSDN? Почему вообще класс не является компонентом сам по себе? Или сделали бы для компонентов отдельный формат модулей тогда уж. Опять же, управление компонентами в design-time происходит не на уровне отдельных объектов(компонентов), а на уровне классов(типов компонентов): формы, дата-модуля и т.п. Тоже не понял, озвучь ТЗ, разберёмся. |
|
Сообщ.
#1099
,
|
|
|
|
Цитата DesweR @ Ты сначала вопрос задай по существу. Я тебе задал вопрос, и не один: Цитата DesweR @ Тоже не понял, озвучь ТЗ, разберёмся. А что тут озвучивать? Вот есть у меня класс: ![]() ![]() type Foo = class private FTitle : string; published property Title : TextField read FTitle write FTitle; end; Теперь я хочу "кинуть" объект этого класса на "форму" датамодуля например и связать его cвойство Title например с парой объектов TEdit на разных формах и с объектом TLabel на еще какой-то форме, чтобы при его (Title) изменении (ввод текста, изменения доступности, т.е. базовые невизуальные свойства) через один из TEdit'ов, изменения были видны и в других связаных с ним визуальных компонентах. Это подобно тому, как разные объекты TButton, TMenuItem связываются с объектами TAction. Добавлено Ах да, естественно связывание должно задаваться в design-time и "храниться" в dfm-файле, чтоб не захламлять код, а также при програмном изменении текста в FTitle ![]() ![]() FTitle.Text = 'Bla-bla'; изменения должны отражаться в UI-компонентах. |
|
Сообщ.
#1100
,
|
|
|
|
Цитата korvin @ Теперь я хочу "кинуть" объект этого класса на "форму" датамодуля например и связать его cвойство Title например с парой объектов TEdit на разных формах и с объектом TLabel на еще какой-то форме, чтобы при его (Title) изменении (ввод текста, изменения доступности, т.е. базовые невизуальные свойства) через один из TEdit'ов, изменения были видны и в других связаных с ним визуальных компонентах. Это подобно тому, как разные объекты TButton, TMenuItem связываются с объектами TAction. Добавлено Сегодня, 16:42 Ах да, естественно связывание должно задаваться в design-time и "храниться" в dfm-файле, чтоб не захламлять код, а также при програмном изменении текста в FTitle Элементарно, код вечером. |
|
Сообщ.
#1101
,
|
|
|
|
korvin, делай так:
- Унаследуй свой класс от TPersistent - это базовый тип для объектов, которые могут работать published-свойствами в IDE - write-метод свойства Title пусть дергает событие OnChange - Создай компонент-контроллер (потомок от TComponent) со след. свойствами: 1) свойство типа Foo - ссылка на твой объект-модель, и свойство-коллекция элементов, которые будут значение Title отображать - Обработчик события OnChange у Foo реализуй в компоненте-контроллере, изменяя надписи у компонентов-видов. И наоборот, OnChange у Edit-а пусть меняет значение свойства - Включи код компонента в пакет и зарегистрируй его в среде только для своего проекта (чтобы в других не мешался под глазами) - Кинь комопнент-контроллер на форму, соедини его с визуальными элементами управления и радуйся жизни Это будет правильно с точки зрения MVC Добавлено Цитата --Ins-- @ Унаследуй свой класс от TPersistent - это базовый тип для объектов, которые могут работать published-свойствами в IDE Хотя это даже не обязательно. Можно и без этого - на контроллер переложить |
|
Сообщ.
#1102
,
|
|
|
|
Цитата DesweR @ Та в реале осмотрись. Чё ты в виртуали разглядывать собрался?И смотрел и читал, ну и где? глубокомысленные умозаключения вокруг какой то "ерунды". Не там, а тут. В этом теме. Хм... я вообще-то об IDE, а не языке, если ты как обычно по диагонали прочёл. |
|
Сообщ.
#1103
,
|
|
|
|
Ой нет спасибо, я так и не понял как в Делфи установить компонент. Ну и основная моя мысль была в том, что такая инфраструктура уже должна была быть в VCL искаробки.
|
|
Сообщ.
#1104
,
|
|
|
|
|
Сообщ.
#1105
,
|
|
|
|
Цитата korvin @ Ну и основная моя мысль была в том, что такая инфраструктура уже должна была быть в VCL искаробки. Искаробки так для DB-компонентов. Для всех остальных должна или не должна - спорно, но если бы искаропки шли компоненты-контроллеры, которые хошь используй, хочешь - нет, было бы неплохо, согласен. Правда ничего не мешает тебе сделать такие самому специфичные для твоего конкретного случая - работы на час |
|
Сообщ.
#1106
,
|
|
|
|
Цитата --Ins-- @ Ой ёй ёй. А всего то надо то, сигнал к слоту подсоединить. korvin, делай так: - Унаследуй свой класс от TPersistent - это базовый тип для объектов, которые могут работать published-свойствами в IDE - write-метод свойства Title пусть дергает событие OnChange - Создай компонент-контроллер (потомок от TComponent) со след. свойствами: 1) свойство типа Foo - ссылка на твой объект-модель, и свойство-коллекция элементов, которые будут значение Title отображать - Обработчик события OnChange у Foo реализуй в компоненте-контроллере, изменяя надписи у компонентов-видов. И наоборот, OnChange у Edit-а пусть меняет значение свойства - Включи код компонента в пакет и зарегистрируй его в среде только для своего проекта (чтобы в других не мешался под глазами) - Кинь комопнент-контроллер на форму, соедини его с визуальными элементами управления и радуйся жизни Это будет правильно с точки зрения MVC Добавлено Цитата Астарот @ Как то вот звучала мысль: всё что выкладывалось на исходниках менее трёх раз -- не баян. Так вот это баян. Прикреплённый файл: Прикреплённый файл2012110945412932.jpg (150.09 Кбайт, скачиваний: 14) |
|
Сообщ.
#1107
,
|
|
|
|
Цитата Повстанець @ Ой ёй ёй. А всего то надо то, сигнал к слоту подсоединить. ![]() Да, кстати, в Qt с этим поприятней, чем в Делфи. Еще бы QtCreator умел парсить/генерировать интерфейсы классов, чтоб можно было как в Xcode/IB управлять связями "мышкой", было б вообще замечательно. Добавлено Цитата --Ins-- @ Правда ничего не мешает тебе сделать такие самому специфичные для твоего конкретного случая - работы на час Как-то не возбуждает, мало того что "специфичные для конкретного случая", так аж час времени занимает. |
|
Сообщ.
#1108
,
|
|
|
|
Цитата korvin @ Это подобно тому, как разные объекты TButton, TMenuItem связываются с объектами TAction. Кстати, пользуясь случаем хотел бы уточнить... А в .NET с TAction или чем-то подобным как? Искал как-то инфу - не нашел |
|
Сообщ.
#1109
,
|
|
|
|
|
Сообщ.
#1110
,
|
|
|
|
DesweR, хе, это в XE2 фишка? Не знал не знал...
|