连接字符串和整数失败并显示“类型不匹配”错误

tmi*_*hty 4 inno-setup

我有以下 Inno Setup 脚本,并且SaveStringToFile在线时收到此错误:

类型不匹配

有人能发现我的错误吗?

谢谢!

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;
Run Code Online (Sandbox Code Playgroud)

Mar*_*ryl 7

问题是你试图用一个数字(一个整数)“求和”一个字符串:

'Error code for procterm was: ' + ErrorCode
Run Code Online (Sandbox Code Playgroud)

这在 Pascal/Pascal Script 中是不可能的。

您必须使用以下IntToStr函数将数字/整数转换为字符串:

'Error code for procterm was: ' + IntToStr(ErrorCode)
Run Code Online (Sandbox Code Playgroud)

或者使用如下Format函数

Format('Error code for procterm was: %d', [ErrorCode])
Run Code Online (Sandbox Code Playgroud)