Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: 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 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.098 c
14-1105636003
Chuvak
2005-01-13 20:06
2005.01.30
Logo for Win


1-1105951254
Mouse_web
2005-01-17 11:40
2005.01.30
Стоимость работ


1-1105646604
Bobby Digital
2005-01-13 23:03
2005.01.30
Help file


1-1106120498
Lera
2005-01-19 10:41
2005.01.30
Переполнение памяти.


1-1106118648
Serge_SG
2005-01-19 10:10
2005.01.30
Где найти тесты по SQL?