缺少运算符或分号错误

时间:2014-03-23 18:53:13

标签: delphi delphi-7

德尔福7,如果重要的话。

procedure writeLog ( varName, varValue: string );
var
  length, i :Integer;
begin
  Append( logFile );
  ShowMessage (varName);
  For i := Length(varName) to 20 do       //line 37
  begin
     varName := varName + ' ';
  end;
  WriteLn( logFile, varName + ': ' + varValue );
  CloseFile( logFile );
end;

我收到错误:

  

[错误] felirat.dpr(37):缺少运算符或分号

所有的分号对我来说都很好。我错过了什么?

1 个答案:

答案 0 :(得分:6)

您声明了一个名为length的局部变量。这个局部变量隐藏了在System单元中声明的同名函数(Delphi,作为Pascal派生,不区分大小写)。所以当你写道:

For i := Length(varName) to 20 do      

编译器将Length视为变量而不是函数。这会导致编译错误。

可能的解决方案:

  • 为变量使用其他名称,例如len
  • 使用功能的完全范围名称:System.Length()