Вниз
Скачать: 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.027 c
6-1100523164
va
2004-11-15 15:52
2005.01.30
Дозвон и сброс


1-1106005099
TGLDummyCube
2005-01-18 02:38
2005.01.30
Неразрешимая проблема из GLScene ? Сохранение float-значения


14-1105389929
palva
2005-01-10 23:45
2005.01.30
Наезд на авторов толстой книги


1-1105968878
WhiteGuy
2005-01-17 16:34
2005.01.30
Остановка проверки на идентичность


14-1105687741
Ihor Osov'yak
2005-01-14 10:29
2005.01.30
Нужен совет о комплектации системы (сpu, monitor)




   Наверх