Компоненты. А нужны ли они вообще? |
Конечно, применение компонент позволяет сделать программу быстро и
красивее, но за это приходится платить цену, и причем довольно дорогую.
Во-первых, как насчет совместимости компонент друг с другом и с
компьютером вообще? Ведь Delphi - компилятор, на клиентскую машину
ставится exe - файл, и в него не залезешь. А сообщенияиногда вываливаются
разные, и сымитировать ситуацию на машине программиста бывает нелегко. А
тут еще куски кода (компоненты), неизвестно как написанные и как
работающие...
Во-вторых, после переустановки Delphi (иногда вместе с Windows)
приходится устанавливать ВСЕ компоненты заново. Хорошо, если они под
рукой, программа разрабатывалась тобой "с нуля". А если программа
досталась "по наследству", автор(ы) (первые и все последующие) давно
уволились, а требуется изменить лишь только пункт меню? Тогда приходится
искать компоненты и параллельно крушить программу, удаляя из ее недр
отсутствующие компоненты и что-то ставя вместо них, то есть из-за 5 минут
полезной работы приходится неделю вкалывать, и то без гарантии, что потом
все заработает нормально. В общем, проект пришлось пересобирать два раза,
чтобы он нормально заработал. Врагу не пожелаешь!!!
Выводы: компоненты, конечно, штука хорошая, но зачастую они представляют
собой мышеловку, из которой приходится вылезать с большими усилиями
Representation mnager
Всего в теме 136 сообщений
Добавить свое сообщение
Отслеживать это обсуждение
- Интерфейс. Компоненты и формы
- Недостатки архитектуры VCL
№ 106 02-10-2008 03:35 | |
Ответ на »сообщение 100« (Как слышно? Прием!)
___________________________
.... поскипано ....
Две Button с именами Create и Read
Получится в секундах!
Насколько я знаю, простой записью-чтением в файл не обойтись нужно делать сколь-нибудь непростой анализ на наличие в исходном тексте признаков компонента, если он предоставлен в исходнике(а как же тогда с новыми компонентами предоставленными лишь в исходниках?) и так прийдется перебирать КАЖДЫЙ файл при этом не забывая отслеживать зависимости!
Боюсь таким образом 1-2 секунды будет уходить лишь на анализ содержимого файла.
И еще одна поправочка - компоненты будут наверняка располагаться на диске не последовательно как это будет в случае программного создания кучи файлов, что будет вынуждать головки винчестера метаться по всей поверхности даже при чтении файлов с одного каталога, в особенности если надо проверять зависимости(а вдруг с одним компонентом вы удалили файлик очень нужный для работы другого компонента?).
№ 105 Удалено модератором | |
№ 104 07-04-2008 01:49 | |
После переустановки компьтора как восстановть библиотеки для работы в Builder6? Тупо копировать не получается, в литературе много не прочитаешь.
№ 103 04-04-2008 18:24 | |
Ответ на »сообщение 102« (Cepгей Poщин)
___________________________
Ладно убедили: таскать туда сюда папки и указывать пути, гораздо проще чем нажимать кнопочку Next.
Пожалуй, проще. Особенно если их таскает робот.
№ 102 04-04-2008 03:08 | |
Ладно убедили: таскать туда сюда папки и указывать пути, гораздо проще чем нажимать кнопочку Next.
№ 101 04-04-2008 02:58 | |
У меня меньше миллисекунды.
Для Линукса и Kylix GetTime.
№ 100 04-04-2008 02:49 | |
procedure TForm1.CreateClick(Sender: TObject);
var
j,k:Integer;
S:String;
F:TextFile;
begin
ForceDirectories('C:\abrashvabrakadabra');
for k:=1 to 100 do begin
S:='C:\abrashvabrakadabra\'+IntToStr(k)+'.txt';
AssignFile(F,S);Rewrite(F);
S:='abrashvabrakadabraabrashvabrakadabraabrashvabrakadabraabrashvabrakadabra';
for j:=1 to 100 do begin
WriteLn(F,S);
end;
CloseFile(F);
end;
end;
procedure TForm1.ReadClick(Sender: TObject);
var
j,k:Integer;
S:String;
F:TextFile;
TimeIsMoney:TDateTime;
begin
TimeIsMoney:=Time;
for k:=1 to 100 do begin
S:='C:\abrashvabrakadabra\'+IntToStr(k)+'.txt';
AssignFile(F,S);Reset(F);
for j:=1 to 100 do begin
ReadLn(F,S);
end;
CloseFile(F);
end;
TimeIsMoney:=Time-TimeIsMoney;
ShowMessage(FloatToStr(TimeIsMoney*3600));
end;
Две Button с именами Create и Read
Получится в секундах!
№ 99 04-04-2008 02:26 | |
Ответ на »сообщение 98« (Cepгей Poщин)
___________________________
Попробуйте открыть сотню файлов.
Это меньше 2 секунд.
№ 98 04-04-2008 01:50 | |
Ответ на »сообщение 95« (Jack Of Shadows)
___________________________
Могу пожертвовать пару секунд ради удобства настройки рабочего места. Парами секунд не отделаться. Не знаю как вы, а я не сношу Delphi в конце каждого рабочего дня, а вот запускаю по несколько раз за день.
Я всегда знал что дельфя сделана для идиотов. Но не для ТАКИХ же! :)) Да, знания преумножают скорбь.
№ 97 04-04-2008 00:52 | |
Ответ на »сообщение 96« (Fisher)
___________________________
Но кроме того, нужно иметь элементарный менеджер пакетов с отслеживанием взаимозависимостей и организацией bundles ("любимых наборов компонентов"). Все равно к этому придем.
Надо просто сделать Delpi для Linux (разумеется с нормальной инсталляцией средствами пакетного менеджера ОС) :-)
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|