Возвращает смещение поля внутри типа.
Синтаксис
Использование
result = OffsetOf( typename, fieldname )
Параметры
typename
fieldname
Имя поля, определенного в типе (или в рамках базового
типа для производного типа).
Описание
Для не производного типа, OffsetOf возвращает расположение fieldname
как смещение в байтах от начала typename.
Для производного типа, OffsetOf возвращает расположение fieldname
как смещение в байтах от начала его базового типа.
Примечание: Если новый элемент переопределяется элементом базового типа,
смещение старого элемента нельзя получить от производного типа.
Пример
Type MyType
x As Single
y As Single
Union
b As Byte
i As Integer
End Union
End Type
Print "OffsetOf x = "; OffsetOf(MyType, x)
Print "OffsetOf y = "; OffsetOf(MyType, y)
Print "OffsetOf b = "; OffsetOf(MyType, b)
Print "OffsetOf i = "; OffsetOf(MyType, i)
Вывод
OffsetOf x = 0
OffsetOf y = 4
OffsetOf b = 8
OffsetOf i = 8
Различия диалектов
- Не доступно в диалекте -lang qb
, но есть псевдоним __Offsetof.
Отличия от QB
См. также