Длина Pbyte

  • Автор темы slavon-x86
  • Дата начала
Z

zubr

PByte - это указатель на Byte, соответственно размер указателя будет в 32-битной винде - 4 байта.
Легко проверить - SizeOf(PByte)
 
S

slavon-x86

не работает.
Код:
SizeOf(PByte) = 4
хотя размер равен 1500
 
Z

zubr

slavon-x86
Еще раз повторяю PByte - это указатель, а его размер в 32-битной винде будет всегда 4 байта, не в зависимости от размера массива на который он указывает. По данному указателю размер массива не определишь.
 
S

slavon-x86

slavon-x86
Еще раз повторяю PByte - это указатель, а его размер в 32-битной винде будет всегда 4 байта, не в зависимости от размера массива на который он указывает. По данному указателю размер массива не определишь.
Странно...
Написано что dll созданная в делфи имеет собственный менеджер памяти. А значит все переменные типа String и PByte созданные в dll не доступны из приложения. Но PByte передаётся. PByte - указатель, а значит он указывает на переменную в памяти dll и из приложения должен быть недоступен. А доступен !
 
Z

zubr

Со String из dll могут быть проблемы, PByte будет нормально работать. Дело в том, что длл подключается в адресное пространство приложения, соответственно все указатели длл будут ликвидны в данном адресном пространстве.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!