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

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

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

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

Сообщение CRobin » 08.02.2017 12:06:40

Здравствуйте. Компилятор кеширует код, вставленный при помощи директивы компилятора, приходится постоянно то убирать то возвращать include чтоб файл был перечитан, если в нем появились изменения. Можно как то отключить такое кеширование?
CRobin
постоялец
 
Сообщения: 145
Зарегистрирован: 26.01.2016 12:15:39

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

Сообщение runewalsh » 08.02.2017 12:36:49

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

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

Сообщение Лекс Айрин » 08.02.2017 12:40:43

Странно... а попробуй очистить и собрать. Ни разу не сталкивался с подобной проблемой.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4175
Зарегистрирован: 19.02.2013 16:54:51

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

Сообщение beria » 08.02.2017 14:11:59

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


Не компилятор, а конкретно Лазарус так делает, причем сознательно и меня это полностью устраивает, сокращая обращения к накопителю и увеличивая скорость работы, ежели не с виртуального диска.. Используйте просто когда надо не дефолтовую сокрашённую, а полную компиляцию. Тогда он пересматривает и пересобирает все файлы. Опция, которая это поведение изменяет. - Параметры-Окружение-Общие-Проверять изменения файлов по содержимому. Хотя она не всегда правильно срабатывает.
Аватара пользователя
beria
постоялец
 
Сообщения: 103
Зарегистрирован: 29.09.2016 08:57:13

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

Сообщение vitaly_l » 08.02.2017 15:17:38

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

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

Сообщение CRobin » 08.02.2017 21:42:27

beria не удается найти эту опцию, ничего похожего на полный режим компиляции тоже нет. Проблема все еще остается.
CRobin
постоялец
 
Сообщения: 145
Зарегистрирован: 26.01.2016 12:15:39

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

Сообщение beria » 08.02.2017 22:22:06

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

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

Запуск-очистить и собрать
Полная пересборка всего проекта при любых условиях.....
Аватара пользователя
beria
постоялец
 
Сообщения: 103
Зарегистрирован: 29.09.2016 08:57:13

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

Сообщение CRobin » 09.02.2017 19:17:06

beria эту опцию я проверял, она у меня в разделе Параметры-Окружение-Рабочий стол, эффекта она никакого не дает.
CRobin
постоялец
 
Сообщения: 145
Зарегистрирован: 26.01.2016 12:15:39

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

Сообщение beria » 10.02.2017 12:36:48

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


Ага... Она как то на разных релизах Лазаруса, то работает, то нет. Сейчас у меня транк, проверил и тоже, увы, не работает, но в прошлом году, тоже на каком-то транке, точно работала, потому-то и написал... Так что остается только полная пересборка.
Аватара пользователя
beria
постоялец
 
Сообщения: 103
Зарегистрирован: 29.09.2016 08:57:13

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

Сообщение vitaly_l » 14.02.2017 10:48:16

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


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru