zapisywanie pól edit do plikuz innej formy

0

Witam wszystkich:)
Mam wielką prośbę o pomoc. Nie moge poradzić sobie z problemem dotyczącym zapisywania do pliku. Chodzi mianowicie o to że tworze aplikacje MDI gdzie w formie głównej jest mainmenu i opcja "Zapisz jako". Ona ma zapisywać dane do pliku textowego z drugiej formy na której są pola edit. Procedura wygląda następująco:

procedure TForm1.Zapiszjako1Click(Sender: TObject);
var filename:textfile;
plik : String;
begin

if savedialog1.execute then
begin
plik:=savedialog1.filename;
assignfile(filename,plik);
rewrite(filename);
showmessage(plik);
writeln(filename,'Zestawienie wyników pomiaru:');
writeln(filename,'trójkąt nr | b | alfa | beta |');
writeln(filename,'1 |'+form3.Edit1.text,'|'+form3.edit3.Text+'|'+form3.edit5.Text+'|');
writeln(filename,'2 |',form3.edit2.Text,'|',form3.edit4.Text,'|',form3.edit6.Text,'|');
writeln(filename,'gamma: ',form3.edit7.Text);
closefile(filename);
form3.Caption:=plik+' - Mój program';
end;
end;

problem polega na tym że gdy w oknie zapisu podam nazwe i klikne "zapisz" wyskakuje błąd:
"Project program.exe raised exception class EAcessViolation with message 'Access violation at adress 00477D01 in module 'program.exe'. Read of adress 00000304'.Process stopped"

Co o tym sądzicie?

0

Jak jeszcze nie rozwiązałeś problemu to spróbuj zakombinować z tymi plusami jak tu:

  showmessage(plik);
  writeln(filename,'Zestawienie wyników pomiaru:');
  writeln(filename,'trójkąt nr |    b    |  alfa  |  beta  |');
  writeln(filename,'1          |' + form3.Edit1.text + '|' + form3.edit3.Text + '|' +form3.edit5.Text + '|');
  writeln(filename,'2          |' + form3.edit2.Text + '|' + form3.edit4.Text + '|'+ form3.edit6.Text + '|');
  writeln(filename,'gamma: ' + form3.edit7.Text);
  closefile(filename);

1 użytkowników online, w tym zalogowanych: 0, gości: 1