Witam. Przykładowo mam taki typ:

type
  PBaza = ^TBaza;
  TBaza = packed record
    Imie: String[25];
    Nazwisko: String[25];
end;

...potem mam taką procke:

procedure Procedura_A;
 var
  aRec: TBaza;
begin
  aRec.Imie := 'Jan';
  aRec.Nazwisko := 'Kowalski';

  DodajRekord(aRec);
end;

procedura dodawania:

procedure DodajRekord(iRekord: TBaza);
 var
  aRec: PBaza;
begin
  New(aRec);
  
  //czy to jest prawidłowo?
  aRec^ := iRekord;

  //TList
  FListaRekordow.Add(aRec);
end;

Teraz pytanie, czy kopiowanie rekordu w DodajRekord jest prawidłowo? Zdebugowałem procedure, po kopiowaniu, Integer(aRec) zwraca ten sam wskaźnik co przed kopiowaniem więc chyba jest ok? Chodzi o to żeby nie gubiło tego wskaźnika co dostaje w New() bo przy Dispose miałbym wycieki pamięci. Programik będzie operował na kilku tysiącach rekordów więc wycieki mogą być dość kłopotliwe. Inaczej, chodzi mi o uzyskanie czegoś w rodzaju Assign co jest w obiektach :). Wiem że mógłbym New(aRec) robić już w Procedura_A i do DodajRekord posyłać wskaźnik (właściwie tak robie teraz, bo nie mam pewności co do tego kopiowania), ale z pewnych względów chce mieć to wszystko ładnie zapakowane w jednej procedurze.
Pozdrawiam. Krzysiek