Noch ein paar kleine Änderungen damit die Classe flexibel bleibt.
Rückgabe NIL addiert falls was schief läuft.
Delphi-Quellcode:
function TNegativeArray.getData(index: Integer): TSprite;
var
idx : Integer;
begin
result := nil;
if ((index <= 0) or ((index > 0) and (Length(Fdata) > FMaxDefault ))) then
begin
idx := self.MappIndex(index);
result := fdata[idx];
end;
end;
create verändert keine festen werte mehr zuweisen.
Delphi-Quellcode:
constructor TNegativeArray.Create(aLenght: Integer; MaxDefault: Integer);
var
i: Integer;
begin
FMaxDefault := MaxDefault;
MaxValue := IIF(aLenght > FMaxDefault, aLenght, 0);
SetLength(FData, aLenght);
for I := 0 to aLenght do
FData[i] := TSprite.Create;
end;
Der Rest im Anhang.
gruss