ОБСУЖДЕНИЕ

Длина Pbyte

7 ответов 10,2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Как узнать размер PByte ?
 
В справочнике
 
справочником не поделитесь ?
 
PByte - это указатель на Byte, соответственно размер указателя будет в 32-битной винде - 4 байта.
Легко проверить - SizeOf(PByte)
 
не работает.
Код:
SizeOf(PByte) = 4
хотя размер равен 1500
 
slavon-x86
Еще раз повторяю PByte - это указатель, а его размер в 32-битной винде будет всегда 4 байта, не в зависимости от размера массива на который он указывает. По данному указателю размер массива не определишь.
 
slavon-x86
Еще раз повторяю PByte - это указатель, а его размер в 32-битной винде будет всегда 4 байта, не в зависимости от размера массива на который он указывает. По данному указателю размер массива не определишь.
Странно...
Написано что dll созданная в делфи имеет собственный менеджер памяти. А значит все переменные типа String и PByte созданные в dll не доступны из приложения. Но PByte передаётся. PByte - указатель, а значит он указывает на переменную в памяти dll и из приложения должен быть недоступен. А доступен !
 
Со String из dll могут быть проблемы, PByte будет нормально работать. Дело в том, что длл подключается в адресное пространство приложения, соответственно все указатели длл будут ликвидны в данном адресном пространстве.