Vergleichen Sie die Versionszeichenfolgen in Inno Setup
Ich lese den Wert einer INF-Datei und muss ihn jetzt mit der Installationsversion vergleichen. Beim Kompilieren erhalte ich jedoch eine Fehlermeldung:
Unbekannter Bezeichner: CompareVersion
Was ist falsch
[Code]
function GetKeyValue(const AKeyName, AFileName, ADefault: string): string;
var
I: Integer;
KeyPos: Integer;
KeyFull: string;
FileLines: TArrayOfString;
begin
Result := ADefault;
if LoadStringsFromFile(AFileName, FileLines) then
begin
KeyFull := AKeyName + '=';
for I := 0 to GetArrayLength(FileLines) - 1 do
begin
FileLines[I] := TrimLeft(FileLines[I]);
KeyPos := Pos(KeyFull, FileLines[I]);
if KeyPos > 0 then
begin
Result := Copy(FileLines[I], KeyPos + Length(AKeyName) + 1, MaxInt);
Break;
end;
end;
end;
end;
var
L2Ver2: TLabel;
procedure DirEditChange(Sender: TObject);
var
FilePath: string;
begin
FilePath := AddBackslash(WizardForm.DirEdit.Text) + 'left4dead2\steam.inf';
L2Ver2.Caption := GetKeyValue('PatchVersion', FilePath, 'N/A');
if (CompareVersion( L2Ver2.Caption, '{#MyAppOldVersion}') = 0) then
begin
...
end
end;
Ich habe den Fehler in dieser Zeile:
if (CompareVersion( L2Ver2.Caption, '{#MyAppOldVersion}') = 0) then
{#MyAppOldVersion}
ist bereits definiert.
Dieser Beitrag bezieht sich auf meine vorherige Frage:Lesen Sie eine INF-Datei während des Setups.
Wenn jemand helfen kann, würde ich mich freuen.