连接字符串和整数失败并出现 "Type mismatch" 错误

Concatenating string and integer fails with "Type mismatch" error

我有以下 Inno Setup 脚本,我在 SaveStringToFile 行收到此错误:

Type Mismatch

有人能发现我的错误吗?

谢谢!

var
  ErrorCode: Integer;
begin
  ShellExec(
    'open', 'taskkill.exe', '/f /im procterm.exe', '', SW_HIDE,
    ewWaitUntilTerminated, ErrorCode);

  SaveStringToFile(
    'c:\program data\myapp\innolog.txt',
    'Error code for procterm was: ' + ErrorCode, True);
end;

问题是您正在尝试 "sum" 带有数字(整数)的字符串:

'Error code for procterm was: ' + ErrorCode

这在 Pascal/Pascal 脚本中是不可能的。

您必须将 number/integer 转换为带有 IntToStr function 的字符串:

'Error code for procterm was: ' + IntToStr(ErrorCode)

或使用 Format function 如:

Format('Error code for procterm was: %d', [ErrorCode])