Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Длина Pbyte
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - Система
slavon-x86
Как узнать размер PByte ?
Король
В справочнике
slavon-x86
справочником не поделитесь ?
zubr
PByte - это указатель на Byte, соответственно размер указателя будет в 32-битной винде - 4 байта.
Легко проверить - SizeOf(PByte)
slavon-x86
не работает.
SizeOf(PByte) = 4

хотя размер равен 1500
zubr
slavon-x86
Еще раз повторяю PByte - это указатель, а его размер в 32-битной винде будет всегда 4 байта, не в зависимости от размера массива на который он указывает. По данному указателю размер массива не определишь.
sax_ol
slavon-x86 Стало быть с указателями вы не знакомы. Пора.
slavon-x86
Цитата(zubr @ 7:09:2008, 16:12 ) *
slavon-x86
Еще раз повторяю PByte - это указатель, а его размер в 32-битной винде будет всегда 4 байта, не в зависимости от размера массива на который он указывает. По данному указателю размер массива не определишь.

Странно...
Написано что dll созданная в делфи имеет собственный менеджер памяти. А значит все переменные типа String и PByte созданные в dll не доступны из приложения. Но PByte передаётся. PByte - указатель, а значит он указывает на переменную в памяти dll и из приложения должен быть недоступен. А доступен !
zubr
Со String из dll могут быть проблемы, PByte будет нормально работать. Дело в том, что длл подключается в адресное пространство приложения, соответственно все указатели длл будут ликвидны в данном адресном пространстве.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.