直接将记录定义为类字段时的D2007错误

时间:2014-03-20 07:41:12

标签: delphi delphi-2007

record直接定义为类字段时:

TTest = class
private
  fData: record
    I: Integer;
    X: Real
  end;
  procedure NavigationDontWorkHere();
protected
  procedure A();
public
  function B(): Integer;
end;

NavigationDontWorkHere方法的导航( Ctrl + Shift +向上 Ctrl + Shift +向下)已中断,并且类自动完成( Ctrl + Shift + C )有效但添加了NavigationDontWorkHere方法的第二个定义。

record定义移到类的末尾:

TTest = class
protected
  procedure A();
public
  function B(): Integer;
private
  fData: record
    I: Integer;
    X: Real
  end;
end;

修复导航但完全打破了类自动完成。

我找到修复它的唯一方法是在课前声明record

TTestData = record
  I: Integer;
  X: Real
end;

TTest = class
private
  fData: TTestData;
protected
  procedure A();
public
  function B(): Integer;
end;

有没有人知道在类中直接定义record并保持正常IDE功能正常工作的方法?

这是在最近的Delphi版本中修复的错误吗?

1 个答案:

答案 0 :(得分:1)

我知道在旧版本的Delphi中没有针对此问题的解决方法。它以现代版本修复。