Показать сообщение отдельно
  #1  
Старый 24.11.2010, 20:28
crea crea вне форума
Прохожий
 
Регистрация: 24.11.2010
Сообщения: 5
Репутация: 10
По умолчанию не читает string из бинарного нетипизированного файла

Доброго время суток
Помогите пожалуйста!
не читает string из бинарного нетипизированного файла

Код:
type
  Tinfo = record
    name:string;
    version:string;
    lang:string;
    typ: byte;
    roz: boolean;
  end;

Код:
var
  Form1: TForm1;
  info: TInfo;

запись:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var f: file;
    i: byte;
    t: cardinal;
    asa: string;
begin
  info.name:=Edit1.Text;
  info.version:= Edit2.Text;
  info.lang:= Edit3.Text;
  info.typ:=ComboBox2.ItemIndex;
  info.roz:=CheckBox1.Checked;

  if SaveDialog1.Execute then
    begin
      AssignFile(f, SaveDialog1.FileName);
      ReWrite(f, 1);

      BlockWrite(f,info.roz,1); //info

      t:=sizeof(info.name)*Length(info.name);
      BlockWrite(f,t,4);
      BlockWrite(f,info.name,t);

      closefile(f);
    end;

end;

чтение:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var f: file;
    t: cardinal;
    s:string;
begin
  if OpenDialog1.Execute then
    begin
      AssignFile(f, OpenDialog1.FileName);
      ReSet(f, 1);

      BlockRead(f,info.roz,1); //info

      BlockRead(f,t,4);
      BlockRead(f,s,t);

      Edit1.Text:=s;

      CloseFile(f);
    end;
end;

выдает ошибку "Accses violation at address ......" после Edit1.Text:=s;
Ответить с цитированием