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

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

Будут  проблемы? GetMem(Buffer, FileSize); FileSize>1M; [D4]


bvn123 ©   (2003-01-21 12:32:00) 

FileSize>1M; GetMem(Buffer, FileSize);
Но функция SizeOf(Buffer) возвращает 32767.
Могут ли появиться проблемы и в каком случае (например, разрядность процессора, не 32-битное приложение...)


han_malign   (2003-01-21 13:46:00) [1]

Buffer - должен иметь ссылочный тип (Pointer, PByteArray, PWordArray, PChar, etc), а у тебя судя по всему просто массив и указатель на выделенный блок памяти лежит в его первых четырех байтах, и упаси тебя Борланд использовать GetMem с открытым массивом, строкой или классом.
З.Ы. С помощью SizeOf нельзя определить размер выделенной памяти, если GetMem не сможет выделить блок памяти требуемого размера, то будет сгенерировано исключение EOutOfMemory...


Anatoly Podgoretsky   (2003-01-21 12:41:00) [2]

Ты наверно неверно или не полностью скопировал текс, должно быть 4


Наверх

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