Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
1-1079565881
Almaz
2004-03-18 02:24
2004.04.04
Иконка кнопки закрытия окна


1-1079621153
КомофОнСамый
2004-03-18 17:45
2004.04.04
TMemo - ограничения


1-1079095364
Layner
2004-03-12 15:42
2004.04.04
Помогите обратится к данным динамического Edit...


9-1063362059
Тима
2003-09-12 14:20
2004.04.04
Помогите плиз!


1-1079079215
ЕвгенийТ
2004-03-12 11:13
2004.04.04
запись текстового файла в DOS-кодировке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский