2016-07-12 55 views
2

我有以下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; 
+0

邊注:不要硬編碼爲'c: \程序數據「(無論如何,在Windows 10上它都是」ProgramData「)。使用'{commonappdata}'常量。 –

+0

@MartinPrikryl這只是對我而言,我不會在任何客戶計算機上運行此代碼。我想確保Inno安裝程序將文本寫入我想要的位置。但顯然它沒有。該字符串未被寫入。 :( – tmighty

+0

@MartinPrikryl這是正確的嗎?我不知道引號:SaveStringToFile('{commonappdata} \ myapp \ inno.txt','procterm的錯誤代碼是:'+ IntToStr(ErrorCode),True); – tmighty

回答

2

您的問題與SaveStringToFile無關。

實際的問題是,你正在嘗試「和」用一個數字(整數)的字符串:

'Error code for procterm was: ' + ErrorCode 

這是不可能的帕斯卡/ Pascal腳本。

你必須數/整數轉換與IntToStr function的字符串:

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

或者使用Format function,如:

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