Компоненты. А нужны ли они вообще? |
Конечно, применение компонент позволяет сделать программу быстро и
красивее, но за это приходится платить цену, и причем довольно дорогую.
Во-первых, как насчет совместимости компонент друг с другом и с
компьютером вообще? Ведь Delphi - компилятор, на клиентскую машину
ставится exe - файл, и в него не залезешь. А сообщенияиногда вываливаются
разные, и сымитировать ситуацию на машине программиста бывает нелегко. А
тут еще куски кода (компоненты), неизвестно как написанные и как
работающие...
Во-вторых, после переустановки Delphi (иногда вместе с Windows)
приходится устанавливать ВСЕ компоненты заново. Хорошо, если они под
рукой, программа разрабатывалась тобой "с нуля". А если программа
досталась "по наследству", автор(ы) (первые и все последующие) давно
уволились, а требуется изменить лишь только пункт меню? Тогда приходится
искать компоненты и параллельно крушить программу, удаляя из ее недр
отсутствующие компоненты и что-то ставя вместо них, то есть из-за 5 минут
полезной работы приходится неделю вкалывать, и то без гарантии, что потом
все заработает нормально. В общем, проект пришлось пересобирать два раза,
чтобы он нормально заработал. Врагу не пожелаешь!!!
Выводы: компоненты, конечно, штука хорошая, но зачастую они представляют
собой мышеловку, из которой приходится вылезать с большими усилиями
Representation mnager
Всего в теме 136 сообщений
Добавить свое сообщение
Отслеживать это обсуждение
- Интерфейс. Компоненты и формы
- Недостатки архитектуры VCL
№ 86 03-04-2008 06:46 | |
Ответ на »сообщение 83« (panda)
___________________________
я рад, что не меня одного такая идея осенила. :)
№ 85 03-04-2008 05:57 | |
Ответ на »сообщение 82« (Aleg Azarousky)
___________________________
>>> Возможно, время первоначальной загрузки слегка увеличилось бы
>>> по сравнению с регистрацией в Windows Registry
?
То есть чтение из пухлого Windows Registry,
где напихано всё что ни есть в Windows
быстрее чтения из предлагаемого Delphi Registry?
№ 84 03-04-2008 05:39 | |
Ответ на »сообщение 82« (Aleg Azarousky)
___________________________
Возможно, время первоначальной загрузки слегка увеличилось бы Слегка — ну это зависит от количества того, что туда напихают.
- Если пользователь будет руками там формировать паки, то одному богу известно, что он туда из каких версий напихает.
- Если пытаться ограничить его в своих фантазиях, то это потребует создания какого-то механизма отделяющего его от файловой системы, а если уж сделан такой механизм, то какая принципиальная разница пишит он в реестр что-то, или нет.
№ 83 03-04-2008 05:30 | |
Ответ на »сообщение 82« (Aleg Azarousky)
___________________________
Сделаем из Delphi Eclipse? ;-)
№ 82 03-04-2008 04:28 | |
Ответ на »сообщение 79« (Cepгей Poщин)
___________________________
Они могли бы сделать так: есть общая папка с компонентами (скажем Components), а внутри нее создаются подпапки для каждой отдельной библиотеки компонентов (EhLib, RxLib, DevExpress...). Тогда при загрузке Дельфя обходила бы все подпапки и загружала бы на панель Design-time компоненты из них.
Возможно, время первоначальной загрузки слегка увеличилось бы по сравнению с регистрацией в Windows Registry, но установка/удаление пакетов с компонентами стала бы гораздо проще.
Опять же, для ускорения можно было бы хранить в каком-нибудь файле в \Components список имеющихся компонентов, и обновлять его кнопкой Refresh на панели инструментов. Тогда скорость загрузки среды не уменьшилась бы.
№ 81 03-04-2008 04:10 | |
Ответ на »сообщение 80« (panda)
___________________________
Надо просто не пускать пользователя программировать ;-) А программиста — пользовать... :)
№ 80 03-04-2008 04:01 | |
Ответ на »сообщение 79« (Cepгей Poщин)
___________________________
но как разъяснить куда и что класть малоопытному пользователю, и как снизить вероятность того, что он не начнет всё валить куда-нибудь в корень C:?
Легко. Надо просто не пускать пользователя программировать ;-)
Можно всё подробно написать, но будет в итоге, та же иструкция по установке какого-нибудь RX.
А так и делается. Пишется инструкция по начальной настройке своего рабочего места. Часть операций автоматизируется. Часть - выполняется руками, сверяясь с инструкцией.
№ 79 03-04-2008 03:55 | |
Ответ на »сообщение 75« (Jack Of Shadows)
___________________________
Ну допустим я решил посмотреть некий набор компонент вывалил все файлы в некую общую папку, поредактировал еще и свои файлы, сделал резервную копию, через год решил, что этот набор мне не нравится и вообще он настолько глючен, что от него надо избавиться. Вы скажете, что надо было его складывать в отдельную папку, указать её в путях, а потом удалить. Так ведь это ж надо напрягаться, знать где указывать пути, с течением времени таких подпапок накопится сотня, и со всеми надо разбираться. Ну допустим я то со своим 10 летним опытом, осилю формирование более-менее приличной структуры папок, но как разъяснить куда и что класть малоопытному пользователю, и как снизить вероятность того, что он не начнет всё валить куда-нибудь в корень C:? Можно всё подробно написать, но будет в итоге, та же иструкция по установке какого-нибудь RX.
Плюс к тому IDE надо будет каждый раз при загрузке проверять, а поменялось ли что в структуре файлов, чтобы в случае чего обновить палитру компонент, что несомненно плохо повлияет на скорость.
Проблему с быстрой регистрацией, того, что мне нужно, для себя я решил сделав небольшую программку. Вопрос, почему этого не сделали производители Delphi из разряда, "а нужно ли переводить Help на русский язык". В своё время я даже предлагал в королевстве разместить исходники, но судя по всему проблемы с регистрацией не возникает ни у кого кроме как у Вас и у меня. Так же посчитали и в Borland :) В общем дальше поехал по накатанной колее чистый флуд, о тяготах жизни.
№ 78 03-04-2008 03:52 | |
Ответ на »сообщение 77« (Jack Of Shadows)
___________________________
>>> Открываем проект, открываем форму, бац! Could not find component bla bla.
А сколько проектов Вы ведете параллельно? Неужто десяток самых разных? Может быть я не специфичен, но не более одного-двух крупных. Ну, еще может, мелочь. Но использовать в одной мелкой утилите RxLib, а в другой -- EhLib -- это говорит больше о программисте ;-)
Вот и поставьте после переустановки Delphi только свой базовый минимум библиотек, плюс компоненты, котрые используются в текущем проекте.
Я вообще сейчас смотрю в направлении того, чтобы повышибать на фиг из палитры те компоненты, которыми я никогда не пользовался и в обозримом будущем пользоваться не собираюсь. А то эта помойка только мешает нормально работать.
№ 77 03-04-2008 03:30 | |
Ответ на »сообщение 76« (Geo)
___________________________
Ктстати, еще идиотский вопрос. А обязательно ли при установке загонять в палитру компонент все компоненты всех библиотек, которые у Вас имеются? ;-)
А давайте спросим у самой Дельфи. Открываем проект, открываем форму, бац! Could not find component bla bla. Remove reference ? All properties will be lost!
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|