По-видимому, как следует из вопроса, способ редактирования содержимого первой формы в рантайме ужо организован полностью, похвально

тогда вот вам такой вариант "сохранения" - на выходе из программы задаёте следующий деструктор формы
Код:
procedure TForm1.FormDestroy(Sender: TObject);
var
FStr: TFileStream;
MemStr: TMemoryStream;
begin
FStr:= TFileStream.Create('Form1.txt', fmCreate);
MemStr:= TMemoryStream.Create;
MemStr.WriteComponent(form1);
MemStr.Position:= 0;
ObjectBinaryToText(MemStr, FStr);
MemStr.Free;
FStr.Free;
end;
затем создете новый проект с пустой формой и пишете в него такую креативную процедуру
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
FStr: TFileStream;
MemStr: TMemoryStream;
begin
if FileExists('Form1.txt') then
begin
Form1.DestroyComponents;
FStr:= TFileStream.Create('Form1.txt', fmOpenRead);
MemStr:= TMemoryStream.Create;
ObjectTextToBinary(FStr, MemStr);
MemStr.Position:= 0;
MemStr.ReadComponent(Form1);
MemStr.Free;
FStr.Free;
end;
end;
после компиляции основной сборки изменения в "редакторе" будут полностью отражаться на форме "исполнительного" проекта