Ein paar Testdaten zum schnellen Ausprobieren wäre eine gute Idee, damit wir leicht die Fälle erkennen können, woran es genau scheitert.
Da habe ich ganz stumpf Integer als kleine Testung hart in die Listen eingetragen und je nachdem einen bis mehrere Werte geändert damit sich die Polygone unterscheiden:
Delphi-Quellcode:
procedure TCADVecListHelperMainFrm.FillBothLists;
var
LRecord,ChangedRec: TCadVec3;
i: Integer;
begin
// Fülle beide Listen mit random default Werten.
if (FFirstCADList <> nil) and (FSecondCADList <> nil) and (FFirstCADList.Count = 0) and (FSecondCADList.Count = 0) then
begin
for i := 0 to 1000 - 1 do
begin
LRecord.x := RandomRange(0, 1000);
LRecord.y := RandomRange(0, 1000);
LRecord.z := RandomRange(0, 1000);
FFirstCADList.Add(LRecord);
end;
ChangedRec.x := 100;
ChangedRec.y := 100;
ChangedRec.z := 100;
FSecondCADList.AddRange(FFirstCADList);
// FSecondCADList.Items[12] := ChangedRec;
end;
end;