Разрывы навигации по коду внутри блоков $IFDEF в Delphi 2010

У меня есть несколько условно скомпилированных классов в моем приложении.

{$IFDEF SOME_OPTION}
type
  TMyClass = class
    procedure Foo;
  end;
{$ENDIF}

...

{$IFDEF SOME_OPTION}
procedure TMyClass.Foo;
begin

end;
{$ENDIF}

Этот параметр SOME_OPTION определен в "Параметры проекта" - "Компилятор Delphi" - "Условные определения" и в "Параметры проекта" - "Компилятор ресурсов" - "Каталоги и условия" - "Определяет символ препроцессора" для этого проекта.

Когда я пытаюсь Ctrl+ клик по их методам, ничего не происходит, навигация по коду не хочет работать.

Я использую Delphi 2010. Как я могу решить эту проблему?

3 ответа

Решение

Это ошибка, и вероятность ее исправления равна нулю.

/ Уоррен П

Я не думаю, что правильное место находится в "Параметры проекта" - "Компилятор ресурсов"...
Но в "Параметры проекта" - "Delphi Compiler" - "Условные определения".

Обновить:
Я пробовал в Delphi XE здесь, на работе, и, похоже, определено оно или нет, или где, не имеет значения для Ctrl+Click, чтобы работать для меня во всех случаях.
Обратите внимание, что у меня установлен пакет исправлений IDE Andreas Hausladen 4.6.6 и DDEv Extension 2.5. Вы их используете?

Обновление 2:
Когда он находится в том же модуле, он, кажется, работает, даже когда SOME_OPTION не определен, но не когда Foo вызывается из другого модуля.
Кажется, что работает, когда это правильно определено в параметрах проекта и вы перестраиваете приложение (вы видите синюю точку на линии, вызывающей Foo). Затем IDE может использовать компилятор, чтобы найти источник функции в другом модуле.

Это все, что я могу придумать, чтобы помочь с этим. И, как уже было сказано, это не лучшая часть IDE...

Не работает, потому что вы не определили свои директивы компиляции. Директивы должны быть определены, как описано здесь http://docwiki.embarcadero.com/RADStudio/en/Delphi_compiler_directives в разделе Использование IDE. Хорошей практикой также является перекомпиляция проекта после изменения условных директив.

Другие вопросы по тегам