Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Daten ändern sich "von alleine"

  Alt 3. Nov 2009, 17: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat