Форум: "Потрепаться";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
ВнизVCL Найти похожие ветки
← →
jjjkkklll (2002-06-18 08:28) [0]Как пересобрать VCL в Delphi 5
← →
Игорь Шевченко (2002-06-18 09:33) [1]Никак
← →
Zemal (2002-06-18 10:02) [2]Может ты ещё и делфю перекомпилить хочешь?! :) Ну флаг тебе в ...
В руки в смысле :). Ну вообще VCL пересобирается :)... надо только исходники поправить у компонентов и перекомпилить... если конечно исходники есть :). Но я предпочитаю наследование классов, а не их экзекуцию... лучше перекрыть что не нравиться, чем коверкать, то что хорошо продуманно по нескольку раз ПРОФЕССИОНАЛАМИ!!! ...а не профанами как мы :).
← →
SuperUmnik (2002-06-18 10:54) [3]Zemal Ну зачем так самокритично! себя тоже надо уважать! тогда и другие за уважают! может он потренироваться хочет! может он Будующий ПРОФЕССИОНАЛ!!! может он Русский компилятор для Object Pascal на Дельфиях напишет (когда нить) а Также VCL только русскую напишет!
Все привет профанам!))) от Профессионала (по крайней мере себе на хлеб с маслом зарабатываю этим делом).
← →
[aka] (2002-06-18 12:52) [4]Пересобирать VCL можно и нужно. И багов прилично и нет нужной поддержки в глобальных Lists и оптимизация страдает.
Project Options + Compile + Use Debug DCUs.
← →
Игорь Шевченко (2002-06-18 13:05) [5][aka] (18.06.02 12:52)
Примеры багов в студию
← →
Awex (2002-06-18 13:22) [6]
Вот к слову статейка, называется "к вопросу о реализации VCL"
http://delphiplus.spils.lv/articles/VCL_realization.html
← →
[aka] (2002-06-18 13:33) [7]TForm: Topmost attribute (multiple topmost forms lose attribute)
TTreeNodes: Clear (children are not notified)
TViewList: memory leak
TImageList: cannot load 256+colors bmp from resources,
TThread: hungry and bulky implementation
TPopupList: insufficient messages handling and global idea
TSpinEdit: int32 value
TTreeView: multiselection unsupported
...
из личного опыта.
остальное сами обнаружите.
VCL - отличная библиотека, не зря M$ переманила архитектора Delphi и создала .net
← →
Игорь Шевченко (2002-06-18 14:03) [8][aka] (18.06.02 13:33)
:-)))
И на каждый пример есть соответствующий Workaround
← →
[aka] (2002-06-18 14:22) [9]Серьозно - на каждый и так чтобы еще использовать VCL ;)
Согласен, что workaround можно сделать на любую проблему, но надо ли писать десятки килограмм кода, когда можно изменить пару строк в самой VCL :)
← →
Кулюкин Олег (2002-06-18 14:27) [10]2 [aka] (18.06.02 14:22)
Менять код VCL не самый простой выход.
Придется вносить эти изменения после каждой переустановки Дельфи.
А если потребуется скомпилировать программу на чужой машине?
Слишком тяжкий груз на себя возлагается :(
Хотя иногда, действительно, проще поправить строку в исходниках VCL. Только во что это выльется...
← →
[aka] (2002-06-18 15:04) [11]Patch-ить VCL - страшная обуза, полностью согласен. Если существует компромиссный workaround - однозначно derive, inherit и т.п. (С чужой машиной проблема небольшая - тяните про-патченный сорц в своем проекте - он подхватиться при компиляции).
Выливается все это в bug-report в Borland :)
← →
Игорь Шевченко (2002-06-18 15:05) [12][aka] (18.06.02 14:22)
> когда можно изменить пару строк в самой VCL :)
Я работаю с пакетами (VCL50.BPL). Какую пару строк мне надо в VCL менять ?
← →
[aka] (2002-06-18 15:23) [13]Мы здесь обсуждаем сорцы VCL, как мне показалось, и самый первый вопрос был по этому поводу ;)
← →
Игорь Шевченко (2002-06-18 16:26) [14]Что касается исходных текстов VCL - есть хорошее правило: "Не трожь генофонд". Давайте оставим правку VCL Borland"у.
← →
[aka] (2002-06-18 16:50) [15]Borland - не Бог. Вы, ребята, сами лучше пишите, чем некоторые творения от Borland :)
Не воспринимайте эту дискуссию, как "наезды" на Ваш подход при работе с багами и "неудобствами" навязанными VCL. ;-)
← →
Кулюкин Олег (2002-06-18 17:28) [16]2 [aka] (18.06.02 16:50)
Как-то я поковырял сорцы VCL (CustomADODataSet) - вынес CommandTimeout в секцию public.
Перед уходом в отпуск, отдал исходники коллегам.
Создал людям геморой :(
С тех пор стараюсь не создавать ситуацию, когда на чужом компьютере программа не компилируется.
← →
[aka] (2002-06-18 17:57) [17]Согласен, ситуация неприятная. Предлагаю :-)
{$IFNDEF _I_FUCKED_VCL_}
{$ASSERTIONS ON}
assert(false,"patch me");
{$ENDIF}
Но чем дальше отходишь от удобств VCL в системщину Win32, тем сельнее чувствуешь "неудобства" VCL... :)
← →
Boger (2002-06-19 14:37) [18]скажите все-таки как сохранять изменения source VCL!
кстати по поводу глюков VCL: при использовании ListView нельзя одновреммено использовать checkboxes и иконки в SubItem"ах, если кто сталкивался,помогите пожалуйста!сам я не справлюсь :(
← →
boger (2002-06-23 00:10) [19]От AKA:
дело все в путях, которые проверяются Delphi что компилировать, а что
нет. Главные пути для Д5 в порядке приоритета здесь:
1) Project Options + Directories/Conditionals + Search Path. Если поставить опцию "Debug
DCU", то Д5 сама допишет $(DELPHI)\Lib\Debug;
2) Environment Options + Library + Library Path
Например, что я делаю, когда патчу Forms (тот случай, когда в 100 раз
легче пропатчить VCL чем самому писать тонны кода):
1) Убиваю все DCU из lib/debug
2) копирую Forms.pas из /src/vcl в /lib/debug
3) ставлю опцию "debug DCU".
При компиляции Д5 перекомпилит мой Forms.pas и оставит все остальное
из /libs.
C тем же успехом, можно в Environment Options путях прописать
/src/vcl; src/rtl/sys; src/rtl/windows и Д5 будет пытаться
компилировать исходники там.
← →
Mystic (2002-06-23 10:53) [20]{$IFDEF DEBUG_FUNCTIONS}
{$IFDEF PUREPASCAL}
{$IFDEF GLOBALALLOC}
Это доводы в пользу перекомпиляции, но не измнения source. По крайней мере на это рассчитывали. Ну а если я выполню
dcc32 -y -DDEBUG_FUNCTIONS system.pas
то мне нужно будет впоследствии пересобрать всю VCL :)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c