我只是想知道是否有其他人遇到过这个相当迟钝的错误。我有一个看起来像这样松散的程序:
procedure dostuff();
begin
if session_started = true then // global var
begin
// do bunch of calculations
// goes on for a while
// then at the end we enable the save button
save_score.enabled := true; // save_score is a tbutton - nothing special about it!
end;
end;
使用该声明,结构视图告诉我'TButton'在第4499行不包含名为'Enabled'的成员。但是代码编译并执行得很好!如果我这样做:
procedure dostuff();
begin
if session_started = true then // global var
begin
// do bunch of calculations
// goes on for a while
// then at the end we enable the save button
with save_score do
begin
enabled := true;
end;
end;
端;
然后我没有得到观众的抱怨,它仍在编辑。
所以任何人都知道这笔交易是什么?无论如何都不是惊天动地,但它会抱怨看似无关紧要的一段代码,这真是太奇怪了。
答案 0 :(得分:0)
此功能称为“Error Insight”:它应该在您编译之前在源代码中显示错误。
您可以在“结构”查看器中看到与错误相对应的节点(按Shift + Alt + F11显示它)。
从一开始,Error Insight一直都是错误的 如今,它比以前更少,但仍然如此。
Delphi IDE中的一些东西依赖于Error Insight,并且也受到这些错误的影响 例如,当错误洞察认为底层代码出错时,某些内置重构可能性不起作用。
你可以disable Error Insight,但这并不能解决某些依赖关系(即重构仍然不起作用,但现在你看不到先验)。
这就是像ModelMaker Code Explorer(MMX)这样的原因之一 MMX是一种廉价的Delphi扩展,有大量的重构操作才能正常工作。
- 的Jeroen