Страница: 1 |
Страница: 1 |
Вопрос: Как определить размер структуры в дот нет ?
Добавлено: 25.09.05 12:14
Автор вопроса: student-uni
В вб6 была ЛенБ()
В дот нете - видел у других
Marshal.SizeOf()
Но вто пробуюу - не получается.
Помогите пожалуйста правильно определить
размер структуры и записать его
в первый элемент структуры
Структура:
Dim dwSize As Integer
Dim hRasConn As Integer
<VBFixedArray(256)> Dim szEntryName() As Byte
<VBFixedArray(16)> Dim szDeviceType() As Byte
<VBFixedArray(129)> Dim szDeviceName() As Byte
Public Sub Initialize()
ReDim szEntryName(256)
ReDim szDeviceType(16)
ReDim szDeviceName(129)
End Sub
End Structure
Инициализация и получения размера:
и запись его в первый элемент
Dim i As Integer
For i = 0 To 10
tInfo(i).Initialize()
Next
tInfo(0).dwSize = Len(tInfo(0))
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 25.09.05 14:57
Оператор Len как был, так и есть.
См. ответ в предыдущем твоём топике.
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 25.09.05 18:52
Может, и не лучший вариант, но можешь прописать длину структуры рядом с ее определением в константе, посчитав самостоятельно.
Номер ответа: 3
Автор ответа:
K&M
ICQ: 225442067
Вопросов: 20
Ответов: 170
Профиль | | #3
Добавлено: 26.09.05 13:59
В принципе это нормальный вариант, если тока не захочеться приписать туда пару строковых переменных или сделать массивы динамическими.
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 26.09.05 20:34
В структуру, которая передается API-функции, во избежание, нельзя дописывать пару строковых переменных или делать массивы динамическими.