Как перехватить подачу файла на компиляцию и сообщения?

Вопросы программирования и использования среды Lazarus.

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

Как перехватить подачу файла на компиляцию и сообщения?

Сообщение carrots » 25.06.2011 16:12:46

Хочу в lazarus встроить свой препроцессор, который будет взаимодействовать с интерфейсом Лазаря.
Времени на то чтоб разобраться как это сделать много нет, потому может кто-то с этим сталкивался.
Делаю его в виде обычного DesignTime компонента.

1. В первую очередь нужно перехватить подачу файлов на компиляцию и подать на компиляцию обработанный другой файл, если он использует препроцессор.
2. Нужно перехватить вывод сообщений, и выводить измененные сообщения, чтоб номера строк совпадали с первоначальным исходником(для удобства в отладке).


1. Как перехватить подачу файлов на компиляцию?
2. Как перехватить вывод сообщений?

В виках Лазаря ответов на эти вопросы не нашел, по моему нужно исходный код ковырять, если никто не знает.
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Как перехватить подачу файла на компиляцию и сообщения?

Сообщение daesher » 26.06.2011 08:25:28

Не уверен, что это так легко. Вам надо преобразовать весь исходник, пройтись по всем файлам проекта. Может быть, будет проще влезть в сам компилятор.
daesher
постоялец
 
Сообщения: 221
Зарегистрирован: 09.03.2010 22:17:14

Re: Как перехватить подачу файла на компиляцию и сообщения?

Сообщение v-t-l » 26.06.2011 19:35:11

Проект->Параметры проекта->Параметры компилятора->Компиляция->Выполнить перед компиляцией
v-t-l
энтузиаст
 
Сообщения: 741
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Как перехватить подачу файла на компиляцию и сообщения?

Сообщение carrots » 26.06.2011 21:16:20

daesher писал(а):Не уверен, что это так легко. Вам надо преобразовать весь исходник, пройтись по всем файлам проекта. Может быть, будет проще влезть в сам компилятор.


Проще-то оно будет(точнее проще будет создать внешний препроцессор), но я хочу чтоб он в то-же время был скриптовым языком для самого Лазаря, чтоб взаимодействовал с его интерфейсом, меню, чтоб можно было встроить отладчик (чтоб показывало при отладке позицию в обработанном и не обработанном коде) и т.д..

v-t-l писал(а):Проект->Параметры проекта->Параметры компилятора->Компиляция->Выполнить перед компиляцией


Мне нужно сделать это через компонент + то что писал выше.
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Как перехватить подачу файла на компиляцию и сообщения?

Сообщение Максим » 27.06.2011 00:23:52

Самое надёжное - это спросить в списке рассылки.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru
cron