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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
4-58377
Alexandr
2002-05-18 10:34
2002.07.18
PostMessage


14-58316
федя
2002-06-22 03:58
2002.07.18
Data Controls


14-58320
Unown
2002-06-02 11:00
2002.07.18
Как создать?


1-58069
werr
2002-07-05 17:04
2002.07.18
Как узнать каким юзером занят файл?


1-58132
skiph
2002-07-08 14:51
2002.07.18
Форма