Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.006 c
3-57972
bobr12
2002-06-26 13:02
2002.07.18
InterBase = ничего не понимаю


6-58252
maxi
2002-05-08 10:31
2002.07.18
Глюк в TSocketConnection и в клиенте (Midas, DCOM)


7-58333
cfk
2002-04-20 13:54
2002.07.18
Как узнать какое железо стоит на компе.


3-57975
sergey32
2002-06-26 14:31
2002.07.18
Что нужно установить на клиентской машине


1-58176
v2k
2002-07-05 19:07
2002.07.18
Переместить папку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский