![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Каким образом можно подменить System.pas [D7, Win2k, WinXP]
Slym © (2004-12-08 06:11:00)Потребовалось поменять несколько стандартных проседур для работы со строками (находятся они в System.pas), но стандартная System.pas уже скомпилирована.
Если ложить свой System.pas к исходникам программы компилятор его игнорирует, а ручная компиляция юнита находит несколько ошибок. Одна из которых что-то типа 'Can't use reserved name System'
Piter (2004-12-11 02:30:00) [1]Slym © (08.12.04 6:11)
Если ложитьсвой System.pas к исходникам программы компилятор его игнорирует
Shift+F11 и добавляешь в проект измененный .pas
Ученик (2004-12-10 23:42:00) [2]>Slym © (08.12.04 06:11)
В каталоге Delphi7\Sourc\Rtl создать каталог Lib, запустить make.exe, system.dcu скопировать в Delphi\Lib, перезапустить Delphi
Alex Konshin (2004-12-09 06:38:00) [3]Бороться с дублированием кода можно известным способом - выделением его в функции/процедуры. Я все равно не вижу, почему так нужно иметь доступ к Capacity? Это может быть нужно только для очень специфических случаев, а для этих случаев можно и написать специфические функции/процедуры. Можешь описать ситуацию, где тебе это требуется?
Slym (2004-12-09 04:51:00) [4]2 Alexander Panov:
в самом System.pas стороки начинают активно юзаться так что порядок тут уже не важен. И компилировать System.pas не хочет System.dcu удаляешь, жалуется типа нет System.pas или его бинарного аналога, хотя сам System.pas имеется в папке проекта.
Alex Konshin:
объем кода растет пропорционально количеству операций со сторокаму+ за счет дублирования кода растет и компилированный код
Alex Konshin (2004-12-08 13:00:00) [5]Alexander Panov © (08.12.04 12:52) [2]
Можно в своем модуле переопределить нужные функции и изменить порядок загрузки модулей ы USES на нужный.
А как это поможет для изменения Capacity?
Честно говоря не понимаю, зачем это может быть нужно. Уменьшить вероятность realloc? Можно попробовать с SetLength поиграться.
Alexander Panov (2004-12-08 12:52:00) [6]Можно в своем модуле переопределить нужные функции и изменить порядок загрузки модулей ы USES на нужный.
Slym (2004-12-08 06:15:00) [7]Суть изменений: добавить строкам упреждающее изменение объема памяти (Capacity)