Einzelnen Beitrag anzeigen

dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Daten ändern sich "von alleine"

  Alt 3. Nov 2009, 18:12
Zitat von himitsu:
Liegen denn alle TArticles und TCategory nur in diesen beiden Arrays?
Ja.
Zitat von himitsu:
Man könnte natürlich auch einfach alle Pointer, welche auf dieses Elemente dieses Arrays zeigen, anpassen\umrechnen, so daß sie dann wieder stimmen.
Das wäre eine Idee. Nur wie kann ich die umrechnen?
Ich könnte zB die alte Speicheradresse von _Articles[0] mit deren neuen vergleichen und den Unterschied auf alle Pointer dazuaddieren/abziehen.
Delphi-Quellcode:
var
  Unterschied: Integer; // richtiger Typ?
  I, J, K: Integer;
begin
  Unterschied := Addr(_Articles[0]) - _Articles[0].Parents[0]^.Articles[0];

  for I := 0 to Length(_Categories) - 1 do
    begin
      for J := 0 to Length(_Categories[I].Articles) do
        _Categories[I].Articles[J] := _Categories[I].Articles[J] + Unterschied;
      for J := 0 to Length(_Categories[I].Children) do
        for K := 0 to Length(_Categories[I].Children[J]^.Articles) do
          _Categories[I].Children[J]^.Articles[K] := _Categories[I].Children[J]^.Articles[K] + Unterschied;
    end;
end;
Das will aber nicht so recht...[DCC Fehler] E2015 Operator ist auf diesen Operandentyp nicht anwendbar
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat