Длина Pbyte

Тема в разделе "Delphi - Система", создана пользователем slavon-x86, 6 сен 2008.

  1. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    Как узнать размер PByte ?
     
  2. Гость

    В справочнике
     
  3. slavon-x86

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    справочником не поделитесь ?
     
  4. zubr

    zubr Гость

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

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    не работает.
    Код (Text):
    SizeOf(PByte) = 4
    хотя размер равен 1500
     
  6. zubr

    zubr Гость

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

    slavon-x86 Well-Known Member

    Регистрация:
    18 дек 2005
    Сообщения:
    216
    Симпатии:
    0
    Странно...
    Написано что dll созданная в делфи имеет собственный менеджер памяти. А значит все переменные типа String и PByte созданные в dll не доступны из приложения. Но PByte передаётся. PByte - указатель, а значит он указывает на переменную в памяти dll и из приложения должен быть недоступен. А доступен !
     
  8. zubr

    zubr Гость

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

Поделиться этой страницей