Форум: "Потрепаться";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизВопрос создателям Delphi-компонентов Найти похожие ветки
← →
ИМХО © (2004-03-06 10:19) [0]Помнится, ЮЗ как-то сказал, что написал около 50 компонентов. Количество, конечно, впечатляет. Понятное дело, что достаточно сложный компонент (а не тот, что создается простым наследованием с добавлением пары свойств) должен быть "выстрадан". Поэтому у меня вопрос к тем, кто пишет компоненты: как у вас появляются идеи относительно них? После написания довольно большого числа однотипных приложений (и компонент делается для ускорения работы)? Или как?
← →
y-soft © (2004-03-06 10:34) [1]Именно так - компоненты пишу исключительно для ускорения разработки. При работе в команде кроме того позволяет добиться однотипности пользовательского интерфейса, да и избежать ненужного дублирования кода. Одно дело, когда пишется одиночное приложение, совсем другое - комплекс программ, тут единство стиля становится насущной необходимостью...
Хотя, честно говоря, с такими целями используем также невизуальные классы (модули) и вынос кода в совместно используемые Dll
← →
Юрий Зотов © (2004-03-06 14:06) [2]Как появляются идеи... да по-разному. Чаще всего по работе нужно - начинает повторяться какая-то функциональность кода и из нее вырастает класс или компонент (или возникает необходимость в расширении функциональности продукта и сразу становится очевидным, что ее надо делать в виде класса или компонента). А иногда просто приходит в голову что-то более-менее свежее и для себя интересное - это уже пишется в качестве хобби (вот буквально и сейчас такую библиотечку нестандартных диалогов потихоньку ваяю, когда есть время и желание). Впрочем, в последние несколько лет писать классы и компоненты стало уже не особо интересно, гораздо интереснее спроектировать более-менее приличную библиотеку классов, или какой-нибудь хитрый эксперт IDE наваять (хотя и здесь уже довольно трудно стало что-то новое придумать).
По разному, в общем. Только сейчас их уже явно больше 50 :о)
← →
Vuk © (2004-03-06 15:05) [3]to Юрий Зотов:
>хотя и здесь уже довольно трудно стало что-то новое придумать
Блин. Мысли есть. Времени на воплощение - фиг. :o(
← →
ИМХО © (2004-03-06 15:28) [4]
> Юрий Зотов © (06.03.04 14:06) [2]
> По разному, в общем. Только сейчас их уже явно больше 50
Они в Интернете распространены?
← →
Aleksey Pavlov © (2004-03-06 16:17) [5]...а ещё компоненты пишутся для того, что бы коллеги, работающие с тобой вместе над тем же проектом что и ты, особо не совали свои жадные до оптимизации ручёнки в твой выстраданный и лаконичный код :) не шутка :)
А вообще, компоненты (или классы, реализованные в отдельных подулях и подключаемые к проекту) предпочитаю использовать для отделения "низкоуровневого" функционала от чисто пользовательского интерфейса. На этапе, когда кол-во строк в твоей части проекта достигает 10-12 тысяч, такого рода разделения порой спасают несколько ещё неседых волос и пару часов, которые могли бы быть потрачены на отладку ;)
← →
Юрий Зотов © (2004-03-06 16:49) [6]> ИМХО © (06.03.04 15:28) [4]
Нет. Подавляющее большинство из них написано по работе и поэтому распостранять их я не имею права.
Что касается остальных... была мысль оформить пакет, но как-то все недосуг. Или просто лень (что вероятнее).
← →
Юрий Зотов © (2004-03-06 17:01) [7]> Aleksey Pavlov © (06.03.04 16:17) [5]
> На этапе, когда кол-во строк в твоей части проекта достигает
> 10-12 тысяч,
А еще лучше не дожидаться этого, а выделять ядро сразу, еще на этапе проектирования.
> такого рода разделения порой спасают несколько ещё неседых
> волос и пару часов, которые могли бы быть потрачены на
> отладку ;)
И, кроме того, позволяют развивать и поддерживать проект. Иначе он очень быстро может стать практически неуправляемым.
← →
Aleksey Pavlov © (2004-03-06 17:13) [8]>>Юрий Зотов © (06.03.04 17:01) [7]:
>А еще лучше не дожидаться этого, а выделять ядро сразу, еще на этапе проектирования.
Это я и имел ввиду. Просто пока кода мало - некоторые проектные решения кажутся избыточными и черезчур громозкими. Но когда дело доходит до больших объёмов, тогда начинаешь понимать, почему у "архитекторов" зарплата больше чем у тебя и зачем надо было так "париться" в самом начале ;)
Проектирование - великая вещь!
>Иначе он очень быстро может стать практически неуправляемым.
К сожалению, до сих пор приходится тянуть один такой проект, изначально "спроектированный" одним "Ссышником", который не дружил с ООП, очень любил рекурсию и неструктурированные конструкции :|
← →
Mihey © (2004-03-06 20:41) [9]>По разному, в общем. Только сейчас их уже явно больше 50 :о)
Все non-visual????
← →
Игорь Шевченко © (2004-03-06 20:56) [10]Aleksey Pavlov © (06.03.04 17:13)
> К сожалению, до сих пор приходится тянуть один такой проект,
> изначально "спроектированный" одним "Ссышником", который
> не дружил с ООП, очень любил рекурсию и неструктурированные
> конструкции
1) От языка не зависит
2) Рефакторинг не помогает ?
← →
Юрий Зотов © (2004-03-06 22:29) [11]> Mihey © (06.03.04 20:41) [9]
Почему? Разные.
← →
Mihey © (2004-03-06 22:43) [12]>Почему?
Потому, что незаметные.
← →
Юрий Зотов © (2004-03-06 22:51) [13]> Юрий Зотов © (06.03.04 22:29) [11]
Кому надо - тот видит. Кто может - тот тоже видит. Остальным не надо. Или не могут. Да и ладно.
Весна?
← →
Mihey © (2004-03-06 23:34) [14]>Кому надо - тот видит. Кто может - тот тоже видит. Остальным не надо. Или не могут. Да и ладно.
А кто рисовал картинку для кнопочки в палитре компонентов???
>Весна?
Отражение действительности. То, о чём я говорю - это всё так и есть. Вам нужно больше работать.
← →
Knight © (2004-03-07 00:08) [15]>> [14] Mihey © (06.03.04 23:34)
> А кто рисовал картинку для кнопочки в палитре компонентов???
Рисовал...
Люди воспользуюсь этой темой и ещё раз задам вопрос, который в своё время так и остался без ответа... А именно, что минимально надо реализовать в компоненте, чтобы он начал взаимодействовать с TDataSource?
← →
Юрий Зотов © (2004-03-07 00:22) [16]> Knight
Минимально - DataLink.
← →
Knight © (2004-03-07 00:30) [17]Ну это понятно... а какие события обрабатывать, чтоб отображать изменения в наборе данных, методы чтоб с ним взаимоействовать?
← →
Юрий Зотов © (2004-03-07 10:19) [18]> Knight © (07.03.04 00:30) [17]
События DataLink"а, естественно. Посмотрите TDBEdit - все сразу увидите.
← →
Knight © (2004-03-07 13:06) [19]Извини, забыл упомянуть... С одинарным вроде разобрался, я имел в виду набор, т.е. типа TDBGrid, а там я чё-то запутался, попытался воспроизвести, как понял, так у меня прогу так проглючило, что Win2k повис :(
← →
Юрий Зотов © (2004-03-07 13:31) [20]> Knight © (07.03.04 13:06) [19]
Там все сложнее, хотя принцип тот же. Главное отличие в том, что DataLink там совсем другой (TGridDataLink) - он умеет работать с набором записей и с их "визуальным" буфером (та часть записей, которая в данный момент видна в контроле). Надо делать по образцу TCustomDbGrid. Проще всего от него отнаследоваться, иначе придется делать свой DataLink.
← →
Knight © (2004-03-07 13:51) [21]>> Юрий Зотов © (07.03.04 13:31)
Вот ведь, а я пытался как TDataLink... Спасибо, нашёл TGridDataLink, вроде всё более-менее понятно, перепишу под свой компонент, а то щас приходится извне вызывать Refresh, для его обновления :)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.037 c