Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как перекомпилировать системный модуль? / 9 сообщений из 9, страница 1 из 1
16.03.2020, 21:22
    #39938016
VirtaOtec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
Здравствуй, дорогой читатель. Подскажи: вот я комментирую строчку в системном модуле, но при запуске программы в отладочном режиме это изменение не учитывается. Думаю, дело в том, что системный модуль не компилируется. Как же я могу заставить его перекомпилироваться и учесть мои изменения?
...
Рейтинг: 0 / 0
16.03.2020, 21:29
    #39938018
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
VirtaOtec,

Можно скопировать его себе в проект.

Но вообще править системные модули это плохая практика.
...
Рейтинг: 0 / 0
16.03.2020, 21:46
    #39938021
VirtaOtec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
Благодарность.
...
Рейтинг: 0 / 0
16.03.2020, 23:12
    #39938038
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
rgreat,

Часто это единственная возможность поправить проблему. Я в каждой версии Delphi обычно по 3-4 модуля правлю, раскидывая по проектам. Про инди я вообще молчу, она у меня заметно переписана ) Проблем не было.
...
Рейтинг: 0 / 0
16.03.2020, 23:16
    #39938039
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
makhaon,

Очень плохо когда это "часто".
...
Рейтинг: 0 / 0
17.03.2020, 10:41
    #39938125
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
makhaon
rgreat,

Часто это единственная возможность поправить проблему. Я в каждой версии Delphi обычно по 3-4 модуля правлю, раскидывая по проектам. Про инди я вообще молчу, она у меня заметно переписана ) Проблем не было.

А какие изменения делаешь?
...
Рейтинг: 0 / 0
17.03.2020, 18:46
    #39938422
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
Василий 2,

ну вот текущие, XE6, правки (было, потом стало). я бы не советовал менять, частные правки:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
function TCustomComboBoxEx.GetItemHt: Integer;
begin
  Result := Perform(CB_GETITEMHEIGHT, 0, 0); // returns 0 if Handle = 0
end;

function TCustomComboBoxEx.GetItemHt: Integer;
begin
  Result := 16;
end;

TDateTimePickerStyleHook.WMPaint

    if (seClient in Control.StyleElements) then

    if (seClient in Control.StyleElements) and
       (not Control.Focused or (ShowCheckBox and not GetChecked)) then

      InflateRect(R, -1, -1);

      if ShowCheckBox then InflateRect(R, -1, -1);

TDateTimePickerStyleHook.Paint

      if seClient in Control.StyleElements then

      if (seClient in Control.StyleElements) and
         (not Control.Focused or (ShowCheckBox and not GetChecked))
      then

TIBRestoreService.SetServiceStartOptions

    VersionCheck('11.0', 'Service API write mode '); {do not localize}

    //VersionCheck('11.0', 'Service API write mode '); {do not localize}

TIBXSQLVAR.GetAsString

        if FXSQLVAR.SqlDef = SQL_TEXT then
          SetLength(Result, str_len div GetCharSetSize);

        if FXSQLVAR.SqlDef = SQL_TEXT then
        begin
          i := Length(Result);
          NewSize := str_len div GetCharSetSize;
          SetLength(Result, NewSize);
          if NewSize > i then
            for i := i + 1 to NewSize do
             Result[i] := ' ';
        end;
...
Рейтинг: 0 / 0
17.03.2020, 19:34
    #39938445
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
makhaon
ну вот текущие, XE6, правки
Посмотрел в Rio TDateTimePickerStyleHook стало как у тебя, остальное не поменялось
...
Рейтинг: 0 / 0
17.03.2020, 20:07
    #39938451
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перекомпилировать системный модуль?
В настройках среды есть опция "Browsing path". Там указаны пути к исходникам, которые в обычном режиме не компилируются, а только используются для навигации при отладке. Линкуются же при сборке соответствующие им DCU из $(BDSLIB)\$(Platform)\debug или $(BDSLIB)\$(Platform)\release.

Если нужные PAS указать не в "Browsing path", а в "Library path", они будут компилироваться и линковаться оттуда. То же самое можно сделать и на уровне проекта, добавив нужные пути в "Search path".

Рекомендую, однако, не править "системные" PAS на месте их изначальной дислокации, а скопировать в особую папку, там модифицировать, и натравить на них компилятор через "Library path" или "Search path". Порожденные DCU при этом лягут туда же, куда и остальные DCU проекта, и будут прилинкованы вместо стандартных.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как перекомпилировать системный модуль? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]