Вниз
Скачать: CL | DM;

Проблема с чтением из типизированного файла   Найти похожие ветки 

← →
WLAD   (2002-08-08 03:21) [0]

Мастера подскажите! После записи в типизированный файл при последующем чтении из него из другой программой выдается сообщение об ошибке: "Access violation at address....".
При чтении из файла программой в которой он создавался происходит считывание пустых переменных. В чем проблема?


← →
Код В Студию   (2002-08-08 03:46) [1]

...


← →
Poirot ©   (2002-08-08 03:47) [2]


> Код В Студию

Желательно весь... и это не шутка...


← →
Wlad   (2002-08-08 22:32) [3]

Вот код


type tz=record
v,o:TStrings;
r:TPicture;
m:Boolean;
p:Integer;
end;
var
z:tz;
f:file of tz;

{процедура записи}
procedure SV;
begin
AssignFile(f,"~t.tmp");
Rewrite(f);
z.v:=Form2.Memo1.Lines;
z.o:=Form2.Memo2.Lines;
z.r:=Form2.Image1.Picture;
z.m:=Form2.CheckBox1.Checked;
z.p:=Form2.SpinEdit1.Value;
write(f,z);
end;

{чтение из файла}
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
Form3.Show;
if Form1.OpenDialog1.Execute then
begin
AssignFile(f,Form1.OpenDialog1.FileName);
reset(f);
read(f,z);
Form3.Memo1.Lines:=z.v;
Form3.RadioGroup1.Items:=z.o;
Form3.Image1.Picture:=z.r;
end;
end;



← →
Anatoly Podgoretsky ©   (2002-08-08 22:36) [4]

И чего ты ожидал, у тебя же в записи указатели на объекты, вот их ты и пишешь


← →
Jeer ©   (2002-08-08 22:39) [5]

Начнем с того, что вот это - ссылки.
v,o:TStrings;
r:TPicture;

Ну запишешь ты указатели на некоторую область памяти (где храняться собственно стринги и image) - ну и что дальше ?
Как при чтении (и кто) должен догадаться, что по этому адресу когда-то существовало ?


← →
Wlad   (2002-08-08 22:47) [6]

Спасибо!
А как правильно?


← →
Юрий Зотов ©   (2002-08-08 22:55) [7]

А правильно писать все в поток, а потом сохранять этот поток на диск. См. класс TStream, а также TStrings.SaveToStream и TPicture.Bitmap.SaveToStream.


← →
Wlad ©   (2002-08-08 23:00) [8]

Пошел смотреть.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
6-60766
Guardian
2002-06-05 06:41
2002.08.19
NMFTP


1-60598
BlankAlex
2002-08-08 09:58
2002.08.19
InterBase eXpress


4-60918
anod
2002-06-14 23:48
2002.08.19
Как закрыть диалог


1-60559
eLVik
2002-08-07 14:12
2002.08.19
TImageList - динамическая загрузка


1-60630
andreyz
2002-08-06 05:13
2002.08.19
Иконки в гриде




   Наверх