Inno 설치에서 AfterInstall
메서드로 프로 시저를 호출했지만 구문 오류가 발생합니다. 섹션 {code:GetShortName|{app}}
은 그대로 쓰입니다. 내가 ExpandConstant를 사용하여 시도하지만, 나는 같은 오류가 + 연산자가 거기에 좋아 보이지 않는 것 같습니다. ExpandConstant에서 모든 것을 전달하려고 시도했지만 대신 런타임에 오류가 발생합니다.프로 시저 호출에서 상수 및 코드 사용
"내부 오류 : '스크립트 오류 : proc.'을 호출 할 수 없습니다." ".
Source: "InputFiles\prog.exe";
DestDir: "{tmp}/" ;
AfterInstall: ExecuteCommand('{tmp}\prog.exe', '--distribute ' + ExpandConstant('{code:GetShortName|{app}}') + '/{#SandboxInternalFolder}')
어떻게이 위치에서 코드 및 상수를 사용할 수 있습니까?
거기에'+'연결 연산자가있어서 안좋아 보입니다. 예를 들어를 통과하여이 문제를 좁힐 수 있습니다. 'A'+ 'B''를 하나의 매개 변수로'AfterInstall' 함수에 적용합니다. 이 매개 변수에 대한 연결은 컴파일을 막을뿐입니다. 지나가는만큼의 매개 변수를 정의하거나 다른 선행 처리기 변수를 정의하는 것보다이 다른 방법을 극복하는 방법을 말하는 것이 어렵습니다. – TLama
그렇게 할 수 없다면 연결을 수행하고 ExecuteCommand를 호출하는 매개 변수를 사용하지 않는 다른 사용자 지정 프로 시저를 만들 수 있습니다. 다시 말하면 ExecuteCommand를 호출 할 때마다 하나의 프로 시저가 필요합니다. – Amaranth