Есть ли будущее у DELPHI?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.142] |
|
|
Правила раздела:
| Страницы: (245) « Первая ... 76 77 [78] 79 80 ... 244 245 ( Перейти к последнему сообщению ) |
Есть ли будущее у DELPHI?
|
Сообщ.
#1157
,
|
|
|
|
Британский учёный - флуд
|
|
Сообщ.
#1158
,
|
|
|
|
Как вообще без экшнов нормально сделать гуи с меню и тулбаром? Execute это фигня, а вот с Update как быть? |
|
Сообщ.
#1159
,
|
|
|
|
Цитата --Ins-- @ Британский учёный - флуд Та тут его 78 страниц |
|
Сообщ.
#1160
,
|
|
|
|
в впф есть понятия команд и биндинг, собственно и на вин-формы можно прикрутить, правда "ручной" работы побольше.
|
|
Сообщ.
#1161
,
|
|
|
|
Цитата SPM @ собственно и на вин-формы можно прикрутить, правда "ручной" работы побольше. А как люди делают обычно? |
|
Сообщ.
#1162
,
|
|
|
|
Цитата --Ins-- @ А как люди делают обычно? Если верить Чарльзу Петзольду, то никак. Пишут код запрета отдельных кнопок/элементов меню при изменении определенных состояний. Хотя не все так плохо: http://bytes.com/topic/c-sharp/answers/444...delphis-taction В дотнете просто нету универсального механизма экшенов, но все возможности для его создания под себя - присутствуют |
|
Сообщ.
#1163
,
|
|
|
|
Цитата [S]mike @ В дотнете просто нету универсального механизма экшенов, но все возможности для его создания под себя - присутствуют Так велосипедить просто не хочется |
|
Сообщ.
#1164
,
|
|
|
|
Цитата --Ins-- @ Так велосипедить просто не хочется ![]() А все равно приходится. У меня в дельфях, например, есть свой фреймворк-обертка над TAction |
|
Сообщ.
#1165
,
|
|
|
|
Цитата [S]mike @ А все равно приходится. У меня в дельфях, например, есть свой фреймворк-обертка над TAction ![]() Можешь чуть подробней описать, что он добавляет к TAction'ам? |
|
Сообщ.
#1166
,
|
|
|
|
В реалии и смотрю, какие там проблемы? Речь конкретно о билдеровском отладчике, если что. Добавлено Цитата korvin @ Нет, требовалось связать несколько видов с одной моделью, ты же связал несколько видов между собой. Было связано несколько компонентов с одним источником данных. Ну хорошо, покажи как эта связь выглядит в Xcode/IB. Нотификация о изменении свойств, с одной стороны - да, лишняя ручная работа, но с другой - "что" и "когда" нотифицировать решает разработчик (это ведь не только тривиальный Title). В WPF, если я не ошибся, нотификация тоже ручная. |
|
Сообщ.
#1167
,
|
|
|
|
Ты потрясающе наивно пытаешься выглядеть наивным.
|
|
Сообщ.
#1168
,
|
|
|
|
Цитата DesweR @ Было связано несколько компонентов с одним источником данных. Где этот источник данных? Один из Edit'ов что ли? Цитата DesweR @ Ну хорошо, покажи как эта связь выглядит в Xcode/IB. У меня его сейчас нет под рукой, чтоб скриншот сделать, но там просто визуальный компонент связывается с Outlet-полем объекта. Цитата DesweR @ Нотификация о изменении свойств, с одной стороны - да, лишняя ручная работа, но с другой - "что" и "когда" нотифицировать решает разработчик (это ведь не только тривиальный Title). В WPF, если я не ошибся, нотификация тоже ручная. Дык для этого и есть система Outlet-ов и Action'ов в Cocoa. Это точки соединения интерфейса и поведения. Разработчик класса-контроллера описывает в интерфейсе класса, какие у него есть Outlet'ы и Action'ы и соответственно их взаимодействие в реализации этого класса-контроллера, а разработчик интерфейса просто "кидает" объект этого класса на "приложение" (там есть отдельное окно для объектов) и привязвает к ним элементы управления и отображения, как ему нужно. |
|
Сообщ.
#1169
,
|
|
|
|
Вот нашел пару подходящих скриншотов в гугле:
1. ![]() На первом скриншоте библиотека объектов (слева), макет окна (справа вверху) и э-э-э то самое "окно приложения" (справа внизу). Так вот, разработчик интерфейса берет из библиотеки визуальные объекты (представления и элементы управления) и размещает их на форму, затем находит нужный объект-контроллер и размещает его на "окне приложения", а затем просто связывает вьюшки и контролы формы с аутлетами и экшнами контроллера. Например вот так: 2. ![]() Когда разработчик отпускает кнопку мыши появляется список доступных аутлетов и экшнов (такой черное popup-окно), с которыми можно связать выбраный элемент интерфейса. Остается только выбрать из списка нужное. Конечно с одним аутлетом можно связать несколько вьюшек, так же как и с одним экшном -- несколько контролов. |
|
Сообщ.
#1170
,
|
|
|
|
Цитата korvin @ Где этот источник данных? Один из Edit'ов что ли? Да, тот который мы изменяем (Edit2). Цитата korvin @ Дык для этого и есть система Outlet-ов и Action'ов в Cocoa ... Кажется начинаю понимать (почитал ещё статью на хабре), в LiveBindings система связи с точностью до наоборот. Опиши поподробнее, как будет выглядеть процесс связывания двух Edit'ов и Label'а (из той задачки), а потом и свою задачку подгоню. Добавлено Цитата Qraizer @ Ты потрясающе наивно пытаешься выглядеть наивным. Конкретно по последнему: пользователей VCL кинули, пользователей VG-Scene кинули, и что то про суровую ООП-модель. Расскажи, как нам тяжело жить? Добавлено korvin Хэх, так что реализацию самих Action'ов нужно самому писать всё-таки? |