德尔福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):缺少运算符或分号
所有的分号对我来说都很好。我错过了什么?
答案 0 :(得分:6)
您声明了一个名为length
的局部变量。这个局部变量隐藏了在System
单元中声明的同名函数(Delphi,作为Pascal派生,不区分大小写)。所以当你写道:
For i := Length(varName) to 20 do
编译器将Length
视为变量而不是函数。这会导致编译错误。
可能的解决方案:
len
。 System.Length()
。