说我有一个像这样的功能
procedure TMyObject.DoSomething(text: string);
begin
// do something important with the text
end;
当我这样称呼方法时
DoSomething('some text', );
代码编辑器在最后一个参数后面的逗号中显示一个红色波浪形,就像我预期的那样。但是,编译器接受此代码,一切都像逗号不在那里一样。
为什么这似乎是合法的语法?是否有一些历史原因今天仍然支持(我在Delphi 2006中试过这个并且others似乎也在2007年经历过这种情况)?
答案 0 :(得分:6)
该代码导致Delphi 6,2010和XE2中的编译错误(E2034实际参数太多)。我想这是你的版本中的编译器错误,因为它不是合法的语法。