Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Daten ändern sich "von alleine"

  Alt 3. Nov 2009, 18:43
Man könnte natürlich auch einfach alle Pointer, welche auf dieses Elemente dieses Arrays zeigen, anpassen\umrechnen, so daß sie dann wieder stimmen.

Liegen denn alle TArticles und TCategory nur in diesen beiden Arrays?

[add]
Delphi-Quellcode:
Procedure CategoriesSetLength(Var Categories: TCategories; i: Integer);
  Var i, i2: Integer;

  Begin
    i2 := Integer(Categories);
    SetLength(Categories, i2);
    Dec(i2, Integer(Categories));
    If i2 = 0 Then Exit;
    For i := High(Categories) downto 0 do Begin
      If Assigned(Categories[i].Children) Then
        Dec(Integer(Categories[i].Children), i2);
      If Assigned(Categories[i].Parent) Then
        Dec(Integer(Categories[i].Parent), i2);
    End;
  End;
Wobei ich einfach statt des Pointers den Index im Array speichern würde, da braucht man nichts umrechnen, welbst wenn sich das Array mal verschiebt.
$2B or not $2B
  Mit Zitat antworten Zitat