Hallo!
Ich will eine Procedur schreiben, die verschiedene Fehlermeldungen ausgibt. Hierbei verwende ich die Format()-Methode zur Stringformatierung. Der Argument-Array für die Formatierung wird zusammen mit dem Nachrichtentext an die Procedure übergeben. Um den Nachrichtentext durch eine Fehlernummer ergänzen zu können, soll der Argument-Array um ein Feld erweitert werden:
Delphi-Quellcode:
procedure ShowErrorMsg(Text: String; Args: array of TVarRec);
begin
// Fehlernummer ermitteln und in den Argument-Array einfügen
SetLength(Args, length(Args)+1);
Args[length(Args)-1] := GetErrorNo(); // GetErrorNo liefert einen Int zurück
Application.MessageBox(PChar(
Format(Text, Args)),
'Fehler', 48
);
end;
Bei der Erweiterung des Argument-Arrays meckert nun der Compiler. Die SetLength-Zeile wird mit "Inkompatible Typen" und die Zeile darunter mit "Inkompatible Typen: TVarRec und Integer" moniert.
Wie kann ich also den Argument-Array verlängern?
Besten Dank
Ares