![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Свой VCL
Андрей Молчанов © (2005-07-27 18:52:00)Здравствуйте!
Нужно изменить модуль ComCtrls. Изменяю, сохраняю его в специальную папку. Добавляю папку первой в список папок просмотра. Ничего не происходит. Что я делаю не так?
evvcom (2005-07-28 10:51:00) [1]
> Может легче будет исправить одну строчку в обновленном модуле?
Это не правильный подход. См. [5]. Лучше один раз потратить время и научиться делать правильно, чем много раз тратить время немного меньшими долями на разборки неработоспособности твоего кода по причине твоей лени.
Андрей Молчанов (2005-07-27 21:28:00) [2]
> А при выпуске Борландом очередного патча, где изменяется
> сабжевый юнит ?
А если для правильной работы модуля нужен новый метод update, который был заменен в наследнике? Может легче будет исправить одну строчку в обновленном модуле?
> А время, затрачиваемое на доработку и поддержку - один из
> важнейших показателей эффективности программиста
Время, затрачиваемое на _разработку_ - тоже один из важнейших показателей.
> Практика показыает, что это будет именно в тот момент, когда
> понадобится что-то сделать самым срочным образом ("шеф:
> это должно быть готово уже вчера")
Что верно, то верно :(
Но шеф уже сказал, что надо сделать вчера, так что заменяем исходники :)
Гаврила (2005-07-27 20:38:00) [3]
> [6] Андрей Молчанов
> При переустановке Delphi ничего не случится.
А при выпуске Борландом очередного патча, где изменяется сабжевый юнит ?
Дело в том, что можно конечно сделать как угодно, можно отказаться от наследования и копировать код через буфер, например. И даже будет работать. В этот момент. Только потом будет большой геморрой, борьба с которым займет больше времени на порядок. А время, затрачиваемое на доработку и поддержку - один из важнейших показателей эффективности программиста
Гаврила (2005-07-27 20:33:00) [4]
> [7] jack128 © (27.07.05 19:57)
>
> Те напомнить как ты с TreeView мучился??
Видимо, недостаточно, раз не стал править ComCtrls :-))
Впрочем, там был изначально криво написанный сторонний компонент на основе TreeView, а не сам TreeView, можно было бы все сделать и без мучений, просто надо было сразу учесть крайнюю любовь борланда пересоздавать окна по поводу и без :-)
> [6] Андрей Молчанов
> Но когда будет, тогда и разберусь.
Практика показыает, что этобудет именно в тот момент, когда понадобится что-то сделать самым срочным образом ("шеф: это должно быть готово уже вчера")
jack128 (2005-07-27 19:57:00) [5]Гаврила © (27.07.05 18:55) [2]
А что не устраивает в ComCtrls?
Те напомнить как ты с TreeView мучился??
Андрей Молчанов (2005-07-27 19:54:00) [6]
> Сделай потомка и переопредели метод Update - так будет правильнее
Наверное, я ламер и т.д. и т.п., но я не знаю как создавать компоненты. А почитать соответствующую литературу нет ни времени, ни желания :(
> Переставил delphi - забыл поменять исходни
Я сохраняю получившийся вариант в отдельную папку и прописываю ее в список папок просмоотра. При переустановке Delphi ничего не случится.
> сел на чужую машину, поменял, забыл вернуть обратно
В этом случае с компонентами удобнее, но я не так уж и часто делаю свой проект для которого нужно это изменение. Проще поменять исходник.
> А при установке сторонних пакетов
> еще и запросто начнет орать, что мол, откомпилировано не
> с той версией.
А вот это может быть. Но когда будет, тогда и разберусь.
А вообще, со своей проблемой я разобрался. Как всегда, глючила не Delphi, а я. :)
Юрий Зотов (2005-07-27 19:26:00) [7]> Гаврила © (27.07.05 19:24) [4]
> потому что потом наверняка начнется
100%, так оно и будет. А при установке сторонних пакетов еще и запросто начнет орать, что мол, откомпилировано не с той версией.
Гаврила (2005-07-27 19:24:00) [8]Сделай потомка и переопредели метод Update - так будет правильнее
ппотому что потом наверняка начнется:
Переставил delphi - забыл поменять исходни
сел на чужую машину, поменял, забыл вернуть обратно
Андрей Молчанов (2005-07-27 18:59:00) [9]Мне надо поправить одну строчку - заменить
Item.fmt := Item.fmt or HDF_IMAGE
на
Item.fmt := Item.fmt or HDF_IMAGE or HDF_BITMAP_ON_RIGHT;
чтобы стрелочки в TListView отображались справа, по-моему гораздо проще изменить ее в исходниках.
Гаврила (2005-07-27 18:55:00) [10]А что не устраивает в ComCtrls?
Ega23 (2005-07-27 18:53:00) [11]Генофонд трогать не стоит. Напиши свою реализацию.