Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Вопрос создателям 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.023 c
4-1074786853
VAN
2004-01-22 18:54
2004.04.04
ПО на компьтере в сети!


8-1070709041
Михааааааааааааа
2003-12-06 14:10
2004.04.04
ScrollBar


14-1078675219
Ivolg
2004-03-07 19:00
2004.04.04
Письмо


9-1064494630
Ilyasim
2003-09-25 16:57
2004.04.04
DXF в массиве


11-1058373492
Dr. Sergey
2003-07-16 20:38
2004.04.04
Проблемы при разработке многомодульных программ