Hi und willkommen in der
DP
Einmal abgesehen davon, dass ich das ganze nicht mit einem Record und einem Array, sondern mit Objekten in einer (Object-)List lösen würde, würde ich dein konkretes Problem vermutlich so lösen:
Das zweite Formular wird standardmäßig nicht erzeugt, sondern nur dynamisch. Nach dem Schließen wird es dann wieder freigegeben. Mach dir bei deiner Form1 eine neue Methode:
Delphi-Quellcode:
procedure DatenAendern(nummer : integer);
var dlg: TForm2;
begin
//--
if (nummer >= Low(personen)) and (nummer <= High(personen)) then
begin
dlg := TForm2.Create(self);
//
dlg.Edit1.Text := personen[nummer].vorname; // oder was auch immer
//...
if dlg.ShowModal = mrOK then
begin
personen[nummer] := dlg.Edit1.Text;
//...
end;
//
dlg.free;
end;
end;
Im Form2 brauchst du dann im OnClick vom Save-Button nur noch folgendes:
Self.ModalResult := mrOK;
Ich hoffe, es wurde einigermaßen klar, was ich meine. (Nicht vergessen, dass in den Projektoptionen eingestellt werden muss, dass Form2 standardmäßig nicht erzeugt wird!)
mfg,
Patti