2016-07-12 4 views
2

실패 I가 다음 이노 설치 스크립트, 그리고는 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를 수행

당신은 IntToStr function에 문자열로 숫자/정수를 변환해야합니다 : \ program data' (어쨌든 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 

을 :

실제 문제는 "합"숫자 (정수)의 문자열하려고하는 것입니다.

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

또는 Format function 같이 사용합니다 :

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