Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Использование VB

Вы не вошли.

 Поиск | Регистрация | Вход 

Валерий
03.11.2005 11:56:08
#1

Гость

Использование VB

Возникла потребность для работы с платой L783 использовать VB6 под WINDOWS98.
1.Сразу же выяснилось, что структуры библиотеки vxdapi.dll не выровнены на естественные границы. При объявлении в VB они занимают в памяти больше места, чем их реальная длина (SizeOf). При этом адреса переменных (опять же объявленных в VB) внутри структур “съезжают” относительно содержимого. Пока не очень понятно могут ли в результате возникнуть проблемы при работе с самими функциями библиотеки?

2.Не удалось идентифицировать тип OVERLAPPED в структуре DEV_REG_UNI.

3.Не могу заставить функцию LoadBios загрузить биос в плату. Перепробовал уже все мыслимые и немыслимые декларации. Может это связано как раз с обозначенной  выше проблемой? Тип OVERLAPPED в DEV_REG_UNI идентифицировал, как long. Понятно, что это неправильно. Однако функции OpenLDevice и ReadPlataDescr_PLX работают вроде бы корректно. Во всяком случае, нули не возвращают и нужные поля структур DEV_REG_UNI и PLATA_DESCR заполняют правильно. Естественно, при этом в качестве размеров структур надо передавать GetSizeOf_DEV_REG_UNI () и GetSizeOf_PLATA_DESCR () соответственно.
Просветите пока хоть по этим вопросам. А может это вообще пустая затея? В смысле использовать VB.

03.11.2005 12:13:34
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Использование VB

Я не работаю в VB но подход у Вас правильный... а структуры объявлять можно как массив байтов...

Валерий
03.11.2005 14:10:05
#3

Гость

Re: Использование VB

А как быть с OVERLAPPED? Хотелось бы все-таки знать основной тип. Хотя бы для того, чтобы не работать вслепую.

03.11.2005 15:48:43
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Использование VB

справка из Win32 Help

typedef struct _OVERLAPPED { // o 
    DWORD  Internal;
    DWORD  InternalHigh;
    DWORD  Offset;
    DWORD  OffsetHigh;
    HANDLE hEvent;
} OVERLAPPED;

HANDLE тоже DWORD по сути ....