Ребят, такой вопрос. Почему тип Boolean возвращается как Int32? Хотел один байт писать, а получается, что 4. Или как-то по другому надо?
Вроде понял, что пишется правильно. Но тип всё равно возвращается Int32. Получается у DllStructGetData есть способ вернуть типы char int int64 double, а вот boolean почему-то не отдаёт
Пока решил так. Но открыт для хороших лаконичных вариантов.
Код:
$tStruct = DllStructCreate('boolean var1')
DllStructSetData($tStruct, 'var1', True)
$vGet1 = DllStructGetData($tStruct, 'var1')
ConsoleWrite($vGet1 & ' (' & VarGetType($vGet1) & ')' & @CRLF)
$tStruct = 0
Сообщение автоматически объединено:
Вроде понял, что пишется правильно. Но тип всё равно возвращается Int32. Получается у DllStructGetData есть способ вернуть типы char int int64 double, а вот boolean почему-то не отдаёт
Код:
$tStruct = DllStructCreate('boolean var1')
DllStructSetData($tStruct, 'var1', True)
$vGet1 = DllStructGetData($tStruct, 'var1')
ConsoleWrite('Размер: ' & DllStructGetSize($tStruct) & @CRLF )
ConsoleWrite('Результат: ' & $vGet1 & ' (' & VarGetType($vGet1) & ')' & @CRLF)
$tStruct = 0
Сообщение автоматически объединено:
Пока решил так. Но открыт для хороших лаконичных вариантов.
Код:
$vGet1 = DllStructGetData($tStruct, 'var1') ? True : False
Последнее редактирование: