将函数 return 值分配给字符串时,Inno Setup 类型不匹配

Inno Setup type mismatch when assigning function return value to a string

我的 Inno 设置中有以下功能:

function GetSerialNumber(ADelimiter: Char): string;
var
  I: Integer;
begin
  Result := '';
  for I := 0 to GetArrayLength(SerialEdits) - 1 do
    Result := Result + SerialEdits[I].Text + ADelimiter;
  if GetArrayLength(SerialEdits) > 1 then
  begin
    Delete(Result, Length(Result), 1);
  end
end;

在下面的另一个函数中,我有一个名为 Serial: string 的变量,但是当我这样做时

Serial := GetSerialNumber('');

我收到类型不匹配错误,有人知道我做错了什么吗?谢谢!

问题不在于 return 值,而在于参数。

'' 不是有效的 char 文字。 char 文字的长度必须正好是一个字符。 ''string

如果要允许空分隔符,请将参数类型更改为 string