Вниз
Скачать: CL | DM;

Каким образом можно подменить System.pas   Найти похожие ветки 

 
Slym ©   (2004-12-08 06:11) [0]

Потребовалось поменять несколько стандартных проседур для работы со строками (находятся они в System.pas), но стандартная System.pas уже скомпилирована.
Если ложить свой System.pas к исходникам программы компилятор его игнорирует, а ручная компиляция юнита находит несколько ошибок. Одна из которых что-то типа "Can"t use reserved name System"


 
Slym ©   (2004-12-08 06:15) [1]

Суть изменений: добавить строкам упреждающее изменение объема памяти (Capacity)


 
Alexander Panov ©   (2004-12-08 12:52) [2]

Можно в своем модуле переопределить нужные функции и изменить порядок загрузки модулей ы USES на нужный.


 
Alex Konshin ©   (2004-12-08 13:00) [3]

Alexander Panov ©   (08.12.04 12:52) [2]

Можно в своем модуле переопределить нужные функции и изменить порядок загрузки модулей ы USES на нужный.

А как это поможет для изменения Capacity?

Честно говоря не понимаю, зачем это может быть нужно. Уменьшить вероятность realloc? Можно попробовать с SetLength поиграться.


 
Slym ©   (2004-12-09 04:51) [4]

2 Alexander Panov:

в самом System.pas стороки начинают активно юзаться так что порядок тут уже не важен. И компилировать System.pas не хочет System.dcu удаляешь, жалуется типа нет System.pas или его бинарного аналога, хотя сам System.pas имеется в папке проекта.

Alex Konshin:
 объем кода растет пропорционально количеству операций со сторокаму+ за счет дублирования кода растет и компилированный код


 
Alex Konshin ©   (2004-12-09 06:38) [5]

Бороться с дублированием кода можно известным способом - выделением его в функции/процедуры. Я все равно не вижу, почему так нужно иметь доступ к Capacity? Это может быть нужно только для очень специфических случаев, а для этих случаев можно и написать специфические функции/процедуры. Можешь описать ситуацию, где тебе это требуется?


 
Ученик   (2004-12-10 23:42) [6]

>Slym ©   (08.12.04 06:11)  
В каталоге Delphi7\Sourc\Rtl создать каталог Lib, запустить make.exe, system.dcu скопировать в Delphi\Lib, перезапустить Delphi


 
Piter ©   (2004-12-11 02:30) [7]

Slym ©   (08.12.04 6:11)
Если ложить свой System.pas к исходникам программы компилятор его игнорирует


Shift+F11 и добавляешь в проект измененный .pas



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1105897627
Ice-Man
2005-01-16 20:47
2005.01.30
Bitmap и Image


4-1102589793
serg128
2004-12-09 13:56
2005.01.30
Как на WinAPI получить текущий день месяца?


1-1105802296
Sur
2005-01-15 18:18
2005.01.30
На сколько правильно организовать такой массив


3-1104202864
paule
2004-12-28 06:01
2005.01.30
Звязь таблиц из разных коннектов


14-1105271522
Чеширский_Кот
2005-01-09 14:52
2005.01.30
Чужие




   Наверх