Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

Array aus Record löschen

  Alt 22. Mai 2017, 17:38
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

Geändert von EWeiss (22. Mai 2017 um 17:48 Uhr)
  Mit Zitat antworten Zitat