Вверх ↑
Этот топик читают: Гость
Администрация
Ответов: 15295
Рейтинг: 1519
#46: 2008-07-16 23:28:11 ЛС | профиль | цитата
Galkov писал(а):
Пока мне известна только такая "контр-аргументация": НЕ НРАВИТСЯ МНЕ ЭТО

Galkov, не будем перевирать написанного:
Dilma писал(а):

стандартный способ задания параметра в FTCG, реализующий все три ситуации с возможностью выбора для пользователя:
- св-во не задано - ситуация НЕ БЫТЬ
- св-во задано - ситуация присваения true
- св-во представлено верхней точкой и эта точка подключена - ситуация присваения false

Впрочем как я уже сказал - категорически против идеи внесения новой сущности. Для каждого конкретного элемента нужно выбрать, что оставить, а что нет. Рассуждать далее о правильности или неправильности такого подхода бессмыслено - в свойства(и методы) элемента не вынесено и половины того, что у него есть на самом деле. На текущий момент с введением FTCG, позволяющего писать элементы "на низком уровне" эти рассуждения и вовсе теряют всякий смысл. Базовый набор должен быть максимально прост и должен содержать исключительно то, что подходит для большинства задач.

при желание возобновить обсуждение предлагаю перейти в другой топик, а в этом воздержаться от своих комментариев по поводу изменения палитры св-тв.

nesco писал(а):
Я вот одного не догнал, каким боком это может повлиять на создание списка иконок при помощи UseIcons

таким, что св-во Icons выносится во вторую вкладку св-тв и далее пользователь отмечая её(т.е. делая видимой на основной палитре св-тв) галочкой говорит компилятору о том, что желает использовать иконки.
карма: 27
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#47: 2008-07-16 23:38:31 ЛС | профиль | цитата
Dilma писал(а):
галочкой говорит компилятору о том, что желает использовать иконки

Ну если это будет передано компилятору, тогда понятно.
Но, на мой взгляд, все это имеет один минус -- усложняет создание кода компонента, из-за наличия дополнительных директив
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#48: 2008-07-17 00:02:31 ЛС | профиль | цитата
nesco, о каком усложнение кода компонента можно говорить, если даже интерфейсных методов для такой техники нет? Да и в любом случае через какое место это не реализуй в FTCG все сведется к замене одного оператора на другой. Поэтому твои опасения даже в случае их оправдания это некий очень частный пример, который серьезным минусом являться не может... Другие там минусы имеются, поважнее этих.
карма: 27
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#49: 2008-07-17 00:25:23 ЛС | профиль | цитата
Dilma писал(а):
Другие там минусы имеются, поважнее этих

Разработчику среды, естественно, известно больше минусов.
Но вот для меня уже сечас есть усложнение, это -- ввод директив контрольных проверок. Все это потребует дополнительных тестрирований, а тестеров у нас -- ой как мало, по пальцам сосчитать можно. Некоторые, даже, апдейтов боятся как огня.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#50: 2008-07-17 11:04:29 ЛС | профиль | цитата
Dilma, я не перевираю написанное, нет у меня такой привычки
Я даже не придумываю никаких новых сущностей - я просто докладываю вам о их существовании
Дальнейшее, просто вопрос квалификации - умении анализировать происходящее правильно, а не исходить из эмоций типа "нравится"
И ваше "не нравится" после такого - ну это как ребенок бьет стульчик за то, что он его ударил
Не виноват стульчик-то. И я не виноват

Вспомнил я в этом топике, потому-что ИМЕННО ЗДЕСЬ появилось предложение о введении св-ва UseЧего-то
Будет другой топик, в котором опять придумаем этот "всем понятный" Use - будет логично вспомнить и там, мне кажется
Как бы, я сразу прошу прощения за будущее напоминание

Вот есть строка Replace.
И хоть пустая она, хоть нет - это не то же самое, что ее отсутствие (отсутствие замены вообще)
Я что ли виноват, что это так, и что никакой FTCG не поймет разницы между таковой пустой строкой, и ее отсутствием
Пока ему не влепят UseReplace (присмотрись-ка к своей цитате про FTCG)

А мое предложение заключалось просто в ином интерфейсном решении, и обобщении того что мы и так делаем регулярно (а вовсе не в ведении новой сущности)
Предлагаю я НЕ вводить новое св-во UseCtrl3D (несмотря на всю его "понятность"), НЕ делать его листом для троичной логики (типа True, False, None), а сделать возможность этого "Use" для всех св-в всех элементов

А то до смешного ведь уже дошло
"Продвинутые" программисты просто пишут

#pas
MainForm := NewForm(Applet,'Ха-Ха-Ха');
И все. Не очень даже зная всех св-в формы, KOL-ом предоставляемых
А вот программист на HiAsm должен пролистать для MainForm аж кучу св-в (хотел было посчитать, но плюнул)
Разбираясь при этом, где играть, а где рыбу заворачивали

Вот мое предложение, грубо говоря, в том и состоит: оставить только это 'Ха-Ха-Ха', а остальное - в "невидимось"

------------ Дoбавленo:

nesco писал(а):
Но, на мой взгляд, все это имеет один минус -- усложняет создание кода компонента, из-за наличия дополнительных директив

А на мой взгляд, это база, на котором построен KOL.
Это, грубо говоря, одно из его отличий от VCL
И является не минусом, а плюсом -- на мой уже взгляд

Строка выше - 20К кода
Добавь еще одну "нейтральную" строку

#pas
MainForm.Align := caNone;
получишь +еще около 1К
Прибавишь "прозрачность"

#pas
MainForm.Transparent := false;
уже и считать не хочется

А ведь мы прибавляем. И чем больше мы прибавляем, тем дальше мы отходим от преимуществ KOL, приближаясь к VCL, но с худшим качеством

Вот тебе и весь сказ
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#51: 2008-07-17 11:14:14 ЛС | профиль | цитата
nesco писал(а):
Но вот для меня уже сечас есть усложнение, это -- ввод директив контрольных проверок

никаких директив нет и не скоро планируется. Поэтому о каком усложнение "уже сейчас" идет речь я не понимаю.

Galkov, перемалывать одно и тоже с разных сторон можно до скончания веков и интерпретировать мои ответы со всех возможных позиций кроме той, которая имелась ввиду тоже. Поэтому все подобные споры кончаются тем, что откладываются на неопределенное время. Или так, если больше нравится:

Galkov писал(а):
А теперь, все это: можно выкинуть в корзину, можно на стенку повесить...
С одинаковой пользой, в общем.

карма: 27
0
Ответов: 9906
Рейтинг: 351
#52: 2008-07-17 11:33:02 ЛС | профиль | цитата
Удивил

Ну и ладно, вводите св-ва UseProperty
С таким примерно хинтом
Если =False, то свойство Property не читать - там рыбу заворачивали


Вот только зря ты не обратил внимания на то, что я не придумывал ничего, а излагал реально происходящее
И излагал не от того, что моей правой ноге так захотелось, а потому, что нечто произошло.
Причина была.
А реально произошло следующее:
У нас кое-где было реальное отключение видимости
Именно было, и именно реальное
Но, в 168-й - оно пропало.

И это уже не перемалывание чего-то там, это совершенно реальные действия
Поэтому, я позволю себе уточнить: не только это в корзину выкинуто (что еще можно пережить), а и еще кое-что полезное
Как бы я попросил, не забывать про таковое выкидывание
Причина
Да просто кто-то считает, что этого не может быть, потому-что этого не может быть никогда
И вместо аргументации - "перемалывание", и не с моей стороны

карма: 9

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#53: 2008-07-17 11:36:22 ЛС | профиль | цитата
Dilma писал(а):
никаких директив нет и не скоро планируется

А это тогда что


   {$ifdef _PROTECT_MAX_}
if str <> ' then
{$endif}
И вот это в придачу

Dilma писал(а):
на SVN добавил новую версию CodeGen с элементом Project всвязи с чем просьба к разработчикам элементов свои "дуракоустойчивые" коды помещать в соответствуюшие дефайны по критериям, данным в элементе project. Тоже самое касается выдачи сообщений об ошибках через диалоговые окна. Примеры использования см. в Replace и KeyHook


Dilma, хочу еще маленький вопрос задать -- а для чего ты откатил иконку СD-ROM, она тебе не понравилась
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#54: 2008-07-17 12:04:55 ЛС | профиль | цитата
Galkov писал(а):
Ну и ладно, вводите св-ва UseProperty

Galkov, см пакеты Web, QT - без напрягов пользователя сущностями "ЕСТЬ" и "НЕ БЫТЬ" можно обойтись и один из вариантов этого обойтись я уже излагал. Предложенный UseProperty это одно из конкретных решений конкретной задачи г-на nesco(всего их было три, если уже успелся позабыться сей факт), подробности которой мне не известны в такой степени, чтобы предложить что-то еще.

nesco писал(а):
А это тогда что

ну я не зря предлагал упорному в своих суждениях г-ну Galkov - у перенести свои высказывания в другое мето - вот и получили путаницу. В топике имеется паралельное обсуждение двух тем - одна связана с интерфейсными изменениями в среде и введение для св-ва состояния "не определено", а вторая с защитой кода от нежелательных действий пользователя.

#pas
{$ifdef _PROTECT_MAX_}
if str <> ' then
{$endif}
это - пример того, как надо оформлять все куски, которые расчитаны на использование элемента новичком. Не думаю что так сложно вставить пару скрок, которые в большом проекте могут привести к заметному увеличению производительности для тех, кому это реально нужно. Вторая линия дериктив _ERROR_XXX_ это решение давней проблемы, на которую так же не однократно жаловались - не всех устраивает выдача диалоговых сообщений в кодах элемента. Использование уровней защиты кода и сообщений об ошибках решает вот такие вопросы однозначно:

1) если код может получить из вне данные, приводящие к ошибкам его работы разработчик обязан поставить код проверки с макросами, соответсвующими уровню опасности неверно введенных данных.
2) если код элемента в процессе работы может вызывать ошибки, то разработчик имеет полное право вызвать диалоговое окно с сообщением об ошибки и окантовать данный код макросом, соответсвующим важности(критичности) данной ошибки.

"Но вот для меня уже сечас есть усложнение" - в данном случае это к сожалению не аргумент. Если "для меня" является более приоритетным, чем "для пользователя", то о дополнениях к пакету речи быть не может.
карма: 27
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#55: 2008-07-17 12:14:13 ЛС | профиль | цитата
Dilma писал(а):
Не думаю что так сложно вставить пару скрок, которые в большом проекте могут привести к заметному увеличению производительности для тех, кому это реально нужно

Да нет, не сложно, можно конечно и вставить, но постепенно, не все сразу, а то и так шарахаюсь от одной задачи к другой -- тут одно всплывет, там другое.

А по иконке ты мне так и не ответил

------------ Дoбавленo:


Dilma писал(а):
Если "для меня" является более приоритетным, чем "для пользователя", то о дополнениях к пакету речи быть не может

Нет не является, я пытаюсь свои дополнения максимально приблизить к пользователю, но не всегда получается к начинающему
По моим дополнениям я всегда отвечаю и показываю примерами пользователю
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#56: 2008-07-17 12:42:46 ЛС | профиль | цитата
nesco писал(а):
Да нет, не сложно, можно конечно и вставить, но постепенно, не все сразу, а то и так шарахаюсь от одной задачи к другой -- тут одно всплывет, там другое.

исправлять уже существующее - не к спеху. Но вот вставлять все новое нужно уже с учетом этого факта. Чтобы двойную работу потом не делать.

nesco писал(а):
А по иконке ты мне так и не ответил

увлекся составлением трактатов... Иконку с диском когда-то давно рисовал в максе, она конечно не верх совершенства, но зато уникальная и своя.

nesco писал(а):
Нет не является, я пытаюсь свои дополнения максимально приблизить к пользователю, но не всегда получается к начинающему

пакету Delphi к сожалению судьбой предначертан экстенсивный путь развития(не смотря на все наши костыли, которые мы время от времени придумываем), и если над каждым своим дополнением 10 раз не подумать, он в итоге будет пораждать только громоздкие неповоротливые програмы и ничего более.
Напомню тот факт, что стандартная палитра сейчас по производительности в 2-3 раза меньше чем скрипт на Basic
карма: 27
0
Ответов: 9906
Рейтинг: 351
#57: 2008-07-17 13:08:51 ЛС | профиль | цитата
Dilma писал(а):
Galkov, см пакеты Web, QT - без напрягов пользователя сущностями "ЕСТЬ" и "НЕ БЫТЬ" можно обойтись

Позволю себе открыть великую тайну: ПОСМОТРЕЛ
И именно посмотревши, утверждаю:
Galkov писал(а):
Вот есть строка Replace.
И хоть пустая она, хоть нет - это не то же самое, что ее отсутствие (отсутствие замены вообще)
Я что ли виноват, что это так, и что никакой FTCG не поймет разницы между таковой пустой строкой, и ее отсутствием

Также, как и не поймет он что св-во Icons следует игнорировать, или создавать пустым, пока не будет UseIcons
И не понимаю, почему эта ПРАВДА упорно не доходит
И чье здесь упорство, все-таки

Мое состоит только в том, что сотый раз пытаюсь втолковать, что "ротор ротора, это градиент дивергенции минус лапласиан", и ничего другого, и что это не я придумал.
А мне в сотый раз рассказывают про "какие-то частные производные" - как будто это как-то может отменить вышеизложенную истину.

Dilma писал(а):
... и один из вариантов этого обойтись я уже излагал.

Не надо предлагать, надо сделать
Из, в очередной раз, не услышенного:
Galkov писал(а):
У нас кое-где было реальное отключение видимости
Именно было, и именно реальное
Но, в 168-й - оно пропало.

Появились лишние коды, приводящие к некоторой кривизне
Это сделано не мной
Вот и примените "эти варианты" чтобы коды "вернулись на место"
Пускай мои предложения пойдут в корзину (а они были напралены именно на это) - давайте свои, воплощенные в жизнь

карма: 9

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#58: 2008-07-17 13:09:32 ЛС | профиль | цитата
Dilma писал(а):
что стандартная палитра сейчас по производительности в 2-3 раза меньше чем скрипт

Ну если появится ядро контролов для больших компонентов и нормальная возможность создания дискретных компонентов на базе мультиков и примитивов, то можно будет их перевести на новую технологию
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#59: 2008-07-17 15:58:31 ЛС | профиль | цитата
Galkov писал(а):
И не понимаю, почему эта ПРАВДА упорно не доходит

потому что готовые решения хороши для поребителей, а не производителей. Поскольку я себя все таки в данном случае отношу ко второй категории, то и ожидаю нормальных доводов и примеров, а не слов о безусловности правды и абстрактных сравнений с градиентом дивергенции. Ничего кроме желания возражать такой стиль изложения возможно и правильных мыслей не вызывает. Боюсь, что и эта ПРАВДА упорно не доходит. И никак не понимаю смысл продолжения сей беседы - в чем он?

nesco писал(а):
Ну если появится ядро контролов для больших компонентов и нормальная возможность создания дискретных компонентов на базе мультиков и примитивов, то можно будет их перевести на новую технологию

nesco, пока делал примерный вариант элемента ImageList, который через data_element приделывался к ListBox, то возникла идея сделать некий набор элементов, по технологии схожий с SiteBuilder в WEB. Т.е. скажем уже сейчас выделяются например такие части - ImageList(база иконок и изображений для элементов), FileProcessor(элемент сохранения и загрузки данных - сейчас он представлен точками doLoad, doSave и doClear, а так же св-ом FileName), DataManager(элемент для доступа к данным компонент). Сами интерфейсные элементы выступают в качестве ViewManager(т.е. ядра отрисовки на экране и взаимодействия с пользователем). При таком раскладе каждый элемент содержит только самые часто используемые точки и св-ва - все остальное к нему приделывается с помощью менеджеров.
карма: 27
1
Голосовали:Stasie
Разработчик
Ответов: 26170
Рейтинг: 2127
#60: 2008-07-17 16:07:02 ЛС | профиль | цитата
Dilma писал(а):
При таком раскладе каждый элемент содержит только самые часто используемые точки и св-ва - все остальное к нему приделывается с помощью менеджеров

Это мне понятно, но вот кто и как будет делать законченные модули с ядром и менеджерами, рядовой пользователь, а он справится
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)