Bill, la fonction setlength n'existe pas dans Delphi-Prism (vous pouvez utiliser l'espace de noms ShineOn.Rtl de ShineOn Wich une mise en œuvre partielle de la fonction setlength).
En prisme delphi, vous pouvez essayer cette
type
IntegerArray = array of integer;
var listIndexes: IntegerArray;
listIndexes:=New IntegerArray(5);
ou
var listIndexes: Array of Integer;
listIndexes:=New Integer[5];
MISE À JOUR
En outre, vous pouvez écrire votre propre SetLength
method SetLength(var myArray: Array of Integer; NewSize: Integer);
var
ActualLength: Integer;
begin
var DummyArray: &Array := &Array.CreateInstance(typeOf(Integer), NewSize);
if assigned(myArray) then
begin
ActualLength:= iif(myArray.Length > NewSize, NewSize, myArray.Length);
&Array.Copy(myArray, DummyArray, ActualLength);
end;
myArray := array of integer(DummyArray);
end;
Pouvez-vous nous dire comment se manifeste le «ne fonctionne pas»? Avez-vous une erreur de compilation ou un comportement d'exécution incorrect? –
'Array.Resize' est le chemin à parcourir, comme l'indique la réponse de jamiei. –