The eagle-eyed amongst you will no doubt have spotted the glaring error...
procedure TcaVectorBase.Assign(Source: TcaVectorBase);
var
Index: Integer;
P: Pointer;
begin
Clear;
for Index := 0 to Pred(Source.Count) do
begin
GetMem(P, GetElementSize);
Move(Source.Pointers[Index]^, P^ {missing ^}, GetElementSize);
FList.Add(P);
end;
end;
Cheers,
Carl