ААА!!! Горю. Срочно помогите мне. Прошу! Пожалуйста! Проблема такова:
В lazarus есть что-то вроде анализатора синтаксиса, отвечающего за автодополнение после точки, автозавершение кода, переход между объявлениями и реализациями процедур. ну так вот, некоторые вещи он недопонимает. Такие, как
* объявление type и var в generic'е (да-да, таким ужасом я воспользовался)
* {$define mlpn:=MyIncredibleLongProcedureName} {$undef mlpn}, {$define iln:=inline;} //о ужас, какой изврат
ну и на этом список я исчерпываю, так как пока-что не могу вспомнить, на чём он ещё спотыкается. Вся проблема в том, что у меня он отказывается делать автодопонение во всех юнитах, использующих юнит с "ошибкой" (на самом-то деле, ошибки нет)
Так как же сделать некоторый кусок кода невидимым для анализатора?
может быть, есть какойнибудь
{$define Pharser_dontlookatme} которым можно пометить код, на который парсер не будет смотреть {$undef Pharser_dontlookatme} ???
заставить анализатор синтаксиса закрыть глаза
Модератор: Модераторы
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
В ExtPascal ToolKit'е сделали так - создали файл extpascal.cfg, в нем одна запись -dUseRuntime, в итоге Lazarus ничего не знает про то, что находится в {$IFDEF UseRuntime} {$ENDIF}, а fpc компилирует всё замечательно
