Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Does not contain a member named


Автор: nnn2k 11.9.2018, 09:27
В коде у некоторых классов подсвечивается метод Free при том, что класс - потомок TObject и его метод - public. Соответственно в окне "structure" IDE также пишет, что "TIniFile does not contain a member named Free" и у некоторых других классов тоже самое.

Код

var
IniF :TIniFile;
begin
IniF :=TIniFile.Create(FileName);
...
IniF.Free;


Жму Ctrl + left mouse и попадаю в модуль System, все хорошо, но вижу здесь ошибки другие.
Expected ';' but received '-' at line 37577
Код

    AddressMask = (UInt64(1) shl ShiftFactor)-1;

Attribute declaration not allowed at line 37579
Код

  private
    [Volatile] FFreeInstItems: Uint64;
    [Volatile] FTagCounter: NativeUInt;

Подсвечена FFreeInstItems, при чем следующая переменная "FTagCounter" не подсвечена как ошибка.

Expected end of line but received an identiifier 'RefCnt' at line 37614
Код

      if AtomicDecrement(PDynArrayRec(PByte(p) - SizeOf(TDynArrayRec))^.RefCnt) = 0 then

Конечно же System.pas родной.
Все компилится и работает прекрасно.
Возвращаюсь в свой модуль, и... мистика, ошибки про "Free" пропали, хотя сколько до этого по модулям перемещался ничего не происходило.

Иначе говоря: явно баг подсветки ошибок и его можно выключить "Error insight" в настройках, но тогда свои опечатки не сразу видно.

Есть ли гуманное решение этого бага?

П.с. Это не однократная проблема. Более того и в разных прошлых версиях наблюдалось нечто похожее. На данный момент на испытании Delphi 10.2.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)