Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

указатели [D7, D2005, 2000, XP]


непонимающий ©   (2006-09-08 11:41:00) 

Возникла проблемка, код:
type
 TInf_soob = packed record
   zag: TZag_inf_soob;
   inf_kadr: array of Byte;
  MD5: integer;
 end;
 PInf_soob=^TInf_soob;
......................................................................
s:=OpenDialog1.FileName;
AssignFile(F,s);
Reset(F,1);
.........................
seek(F,i2);
GetMem(glav,i4);  
BlockRead(F,glav^.inf_kadr,i5);     {???????????????}
glav^.MD5:=0;
glav_nach.priznak_konca:=1;
SetEvent(event_otpr);
...................................

проблема возникает вот на этой строке {???????????????}: из файла просто не считывает в glav^.inf_kadr информацию, может кто-нибудь подскажет как это исправить...


Loginov Dmitry   (2006-09-08 15:38:00) [1]

Вместо

GetMem(glav,i4);

используй

New(glav)

Не забывай про очистку памяти:

Dispose(glav);

Размер массиву inf_kadr устанавливай вручную следующим образом:

SetLength(inf_kadr, N)


непонимающий   (2006-09-08 12:15:00) [2]

спасибо, сейчас попробуем...


Сергей М.   (2006-09-08 11:50:00) [3]


> т.е под inf_kadr нужно отдельно выделять память???
>


Угу... Аж i5 байт ..


непонимающий   (2006-09-08 11:47:00) [4]

т.е под inf_kadr нужно отдельно выделять память???


Reindeer Moss Eater   (2006-09-08 11:45:00) [5]

Твоя пакет рекорд TInf_soob это непрерывный кусок памяти.
Но элементы массива inf_kadr лежат за пределами этого куска.


Reindeer Moss Eater   (2006-09-08 11:43:00) [6]

из файла просто не считывает в glav^.inf_kadr информацию, может кто-нибудь подскажет как это исправить...

Надо указывать правильный буфер для считывания, а не то что у тебя


Наверх

Титульная страница Поиск, карта сайта Написать письмо