![]() |
InnoSetup / Pascal Script: Wie array of string übergeben?
Irgendwie muss mein Pascal über die letzten Jahre arg eingerostet sein.
Ich baue gerade ein InnoSetup-Script, und habe ein Problem beim Formatieren von CustomMessages mit Platzhaltern. Folgendes funktioniert:
Delphi-Quellcode:
Am Ende habe ich "Das 1 ist Some text ein 3 Test".
var
message: string; begin message := CustomMessage('MyCustomMessageName'); // Die Message sei: 'Das %1 ist %2 ein %3 Test' result := FmtMessage(message, [IntToStr(1), 'Some text', IntToStr(3)]); // Array mit den Argumenten wird direkt übergeben end; Folgendes funktioniert leider nicht:
Delphi-Quellcode:
Hier wirft mir InnoSetup zur Laufzeit einen "Type Mismatch"-Fehler beim Aufruf von FmtMessage.
var
message: string; args: Array of String; begin message := CustomMessage('MyCustomMessageName'); // Die Message sei: 'Das %1 ist %2 ein %3 Test' args := [IntToStr(1), 'Some text', IntToStr(3)]; // Array wird hier vorbereitet... result := FmtMessage(message, args); // ... und als variable übergeben. end; FmtMessage ist laut InnoSteup Doku folgendermassen definiert:
Delphi-Quellcode:
function FmtMessage(const S: String; const Args: array of String): String;
Eigentlich will ich folgende Hilfsfunktion realisieren:
Delphi-Quellcode:
Und dann so aufrufen:
function FormatCustomMessage(const messageId: String; const arguments: Array of String): String;
begin result := FmtMessage(CustomMessage(messageId), arguments); // array soll aus den Parametern kommen end;
Delphi-Quellcode:
Log(FormatCustomMessage('CreatedCustomWizardPage', [IntToStr(result.Id), caption, IntToStr(previousPageId)]));
Die Frage lautet also, wie kann ich in Inno / PascalScript das Array of String mit den Argumenten von einem Funktionsaufruf auf den anderen durchschleifen? Irgendwie komm ich mir grad etwas doof vor, weil das doch recht easy sein müsste, oder? Vielen lieben Dank, Sebastian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz