Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: array of record zuweisung

  Alt 13. Mär 2021, 01:05
Sorry das ich fragte, das war Neuland für mich, also ganz lieben Dank für mehr Input zum Thema!!!

Ausgehend von Deinem Beispiel (wo mich der Constructor part zu sehr an Klassen erinnert) wurde gebastelt das es auch ohne klappt.

Delphi-Quellcode:
type
  TRec = record
    s: string;
    i: integer;
  end;

function MakeRec(ss: string; ii:integer): TRec; inline;
begin
  with Result do
    begin
      s := ss;
      i := ii;
    end;
end;

procedure DoJob(a: array of TRec);
begin
end;

begin
  DoJob([MakeRec('Hi', 1), MakeRec('Bye', 2)]);
end.

und noch mehr gespielt in der schönen Delphi Welt
Delphi-Quellcode:
type
  test = ^TRec;
  TRec = record
    s: string;
    i: integer;
  end;


function create_test(const ss: string; const ii: integer): test;
var
  temp : test;
begin
// speicherleck durch new(temp) möglich/wahrscheinlich!
  new(temp);
  temp^.s := ss;
  temp^.i := ii;
  exit(temp);
end;

procedure doJob(a : array of test);
//var
// j : test;
begin
// for j in a do
// begin
// writeln(j^.s,' ',j^.i);
// end;
end;

begin
  doJob([create_test('hello',10), create_test('bye',20)]);
end.
Ohne Deine Erklärungen wäre das nie passiert :-]
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat