Löschen des Array
Delphi-Quellcode:
if gS[K].h_Bitmap = 0
then
begin
for Index := (K + 1)
to (Length(gs) - 1)
do
gs[
Index - 1] := gs[
Index];
Setlength(gs, length(gs) - 1);
dec(Count);
if gp.RecycleBin = K
then
gp.RecycleBin := 0;
end;
packe ich das ganze jetzt in eine procedure macht das Teil Ärger
Manchmal hat man echt ein Brett vorm Kopf.
Delphi-Quellcode:
procedure Delete(var SrcArray: Array of TSprite; Index: Integer);
var
I: Integer
begin
for I := (Index + 1) to (Length(SrcArray) - 1) do
SrcArray[I- 1] := SrcArray[I];
Setlength(SrcArray, length(SrcArray) - 1); //<< inkompatible Typen
end;
Aufruf
Delete(gs, K);
verwende ich jetzt hier direkt gs dann funktioniert das ganze. Warum?
Setlength(gs, length(SrcArray) - 1); //<< inkompatible Typen
es ist unabhängig vom var Parameter.
Auch dann geht es nicht.
gruss