Как убрать кеширование {$Include}

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
CRobin
постоялец
Сообщения: 145
Зарегистрирован: 26.01.2016 11:15:39

Как убрать кеширование {$Include}

Сообщение CRobin »

Здравствуйте. Компилятор кеширует код, вставленный при помощи директивы компилятора, приходится постоянно то убирать то возвращать include чтоб файл был перечитан, если в нем появились изменения. Можно как то отключить такое кеширование?
Аватара пользователя
runewalsh
энтузиаст
Сообщения: 579
Зарегистрирован: 27.04.2010 00:15:25

Сообщение runewalsh »

А у меня при изменении включаемого файла автоматом считаются изменившимися включающие, хз. Может, попробуй добавить его в проект. Или в ФС время доступа не записывается.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Странно... а попробуй очистить и собрать. Ни разу не сталкивался с подобной проблемой.
Аватара пользователя
beria
постоялец
Сообщения: 130
Зарегистрирован: 29.09.2016 07:57:13

Сообщение beria »

CRobin писал(а):Компилятор кеширует код,


Не компилятор, а конкретно Лазарус так делает, причем сознательно и меня это полностью устраивает, сокращая обращения к накопителю и увеличивая скорость работы, ежели не с виртуального диска.. Используйте просто когда надо не дефолтовую сокрашённую, а полную компиляцию. Тогда он пересматривает и пересобирает все файлы. Опция, которая это поведение изменяет. - Параметры-Окружение-Общие-Проверять изменения файлов по содержимому. Хотя она не всегда правильно срабатывает.
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

Как отключить не знаю, но в некоторых ситуациях, можно только вот так в проект внести изменения (иначе Лазарус восстанавливает код).
1) закрываете Лазарус.
2) Удаляете директорию lib в проекте (она живучая и снова восстановится)
3) запускаете Лазарус с проектом, теперь только вносите изменения.
4) Жмёте "очистить и собрать" и только тогда получится внести и сохранить изменения в проекте.
Но это только в определённых ситуациях, кода вы вносите изменения код, а он ВДРУГ после компиляции сам восстанавливается обратно.
CRobin
постоялец
Сообщения: 145
Зарегистрирован: 26.01.2016 11:15:39

Сообщение CRobin »

beria не удается найти эту опцию, ничего похожего на полный режим компиляции тоже нет. Проблема все еще остается.
Аватара пользователя
beria
постоялец
Сообщения: 130
Зарегистрирован: 29.09.2016 07:57:13

Сообщение beria »

CRobin писал(а):не удается найти эту опцию

Как выше написал - Параметры-Окружение-Общие....
Изображение

Запуск-очистить и собрать
Полная пересборка всего проекта при любых условиях.....
CRobin
постоялец
Сообщения: 145
Зарегистрирован: 26.01.2016 11:15:39

Сообщение CRobin »

beria эту опцию я проверял, она у меня в разделе Параметры-Окружение-Рабочий стол, эффекта она никакого не дает.
Аватара пользователя
beria
постоялец
Сообщения: 130
Зарегистрирован: 29.09.2016 07:57:13

Сообщение beria »

CRobin писал(а):ффекта она никакого не дает.


Ага... Она как то на разных релизах Лазаруса, то работает, то нет. Сейчас у меня транк, проверил и тоже, увы, не работает, но в прошлом году, тоже на каком-то транке, точно работала, потому-то и написал... Так что остается только полная пересборка.
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

Случайно наткнулся, на кнопку "очистить кэш включаемых файлов", вдруг поможет:
Путь к очистке кэша включаемых файлов такой:
Кликаете правой кнопкой по тексту в модуле. Появляется вываливающийся список. В выпадающем списке, находите "исходный код", подводите мышку вываливается подраздел, в вывалившемся подразделе внизу, есть строчка "сведения о модуле", кликаете на "сведения о модуле" и появляется окно. В появившемся окне, в закладке "общие", есть долгожданная кнопка: "Очистить кэш включаемых файлов".
Ответить