Показать сообщение отдельно
Старый 17.06.2004, 11:49   #9  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Сканер подключается через COM-порт.
Ну наконец-то Долго же мне пришлось Вас пытать.

ОК. Шансов не много, но попробовать можно.
Дело в том, что в Windows с COM портом можно работать так же, как и с обычным файлом - через api функцию CreateFile.

Однако есть несколько неприятных моментов:

1) CreateFile реализованная в классе WinApi Вам не подходит.

Вот ее обертка в Аксапте:

PHP код:
client server static int createFile(str fileNameint flags #OPEN_ALWAYS, int access = 0) 
А вот так объявлен ее заголовок в windows.h:

Цитата:
hCom = CreateFile( pcCommPort,
GENERIC_READ | GENERIC_WRITE,
0, // must be opened with exclusive-access
NULL, // no security attributes
OPEN_EXISTING, // must use OPEN_EXISTING
0, // not overlapped I/O
NULL // hTemplate must be NULL for comm devices );
То есть, последний параметр, который нам и нужен, в Аксапте отсутствует.
Так что нужно будет реализовать свою версию WinAPI::CreateFile

2. Нужно будет создать свои обертки вокруг API функций GetCommState и SetCommState.

3. Может еще что-то забыл.

p.s. Сам бы я поставил драйвер (или любое другое промежуточное ПО и не мучался).