2012-01-03 3 views
2

다음 코드를 도와주세요 :이노 설치 스크립트 : 식별자 예상 오류

[Code] 
var 
    AppVersionNumber: Integer; 
    DBVersionNumber: Integer; 
function GetAppVersion:Integer; 
    var 
     AppVersion: AnsiString; 
    begin 
     ExtractTemporaryFile('info.dat'); 
     LoadStringFromFile(ExpandConstant('{tmp}\info.dat'), AppVersion); 
     AppVersionNumber := StrToInt(Copy(AppVersion, 1, 6)); 
     DBVersionNumber := StrToInt(Copy(AppVersion, 7, 12)); 
     GetAppVersion := AppVersionNumber; <== here is error 
    end; 

여기 뭐가 잘못 이해하지 않습니다. Inno 설치 프로그램에 "Identifier expected"오류가 있다고합니다. 이 줄에 GetAppVersion을 Result로 바꾸려고하면 (왜? 모름이지만 예제에서 보았습니다) "GetAppVersion의 잘못된 프로토 타입"이라고 표시됩니다.

이 코드의 잘못된 점은 무엇입니까? (당신이 VB 같은 함수 이름에 할당하지 않음) 함수의 결과/반환 값을 지정할 필요

+1

이 결과'와 함께 작동해야 ='. –

+0

그러나 : does not :( – mimic

답변

9

Result := 도와주세요

"잘못된 프로토 타입"오류는이기 때문에 가능성이 높습니다 {code:...} 상수에서이를 사용하면 호출 된 함수에 항상 단일 문자열 매개 변수가 있어야합니다. the help file에서 찍은를 사용
보십시오 :

function GetAppVersion(Param: String): String; 
+0

내 함수는 어떤 매개 변수도 가지고 있지 않다. 어떻게 보일 것인가? – mimic

+2

'{code : ...}'상수로부터 그것을 사용한다면 정확히 단일 문자열 매개 변수가 있어야한다. {{code : ...}} 상수를 사용하지 않는다면, 지금 실패한 코드와 그것을 호출하는 코드를 보여 주려고 노력하십시오. – Deanna

+0

그래, 당신은 절대적으로 옳다. 나는 그 함수가 일반적인 것들과 같다고 생각하지만, 그렇지 않다. 문자열이나 부울이 아닌 다른 것을 반환 할 수 없다는 것은 정말 어리 석다.하지만 지금은 적어도 컴파일 할 수있다. 감사합니다. – mimic

관련 문제