Форум: "WinAPI";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизCOM-порт Найти похожие ветки
← →
Федор (2004-11-09 21:19) [0]Настраиваю порт:
hCom := CreateFile("COM2",
GENERIC_READ OR GENERIC_WRITE,
0, // comm devices must be opened w/exclusive-access
nil, // no security attrs
OPEN_EXISTING, // comm devices must use OPEN_EXISTING
0, // not overlapped I/O
0 // hTemplate must be NULL for comm devices
);
if hCom = INVALID_HANDLE_VALUE then
raise Exception.Create("COM2 íå ïîäêëþ÷àåòñÿ.");
GetCommState(hCom, DCB);
DCB.BaudRate := 9600;
DCB.ByteSize := 8;
// DCB.Parity := EVENPARITY;
DCB.Parity := NOPARITY;
DCB.StopBits := ONESTOPBIT;
SetCommState(hCom, DCB);
Timeouts.ReadIntervalTimeout := 50;
Timeouts.ReadTotalTimeoutMultiplier := 1;
Timeouts.ReadTotalTimeoutConstant := 5000;
Timeouts.WriteTotalTimeoutMultiplier := 0;
Timeouts.WriteTotalTimeoutConstant := 0;
SetCommTimeouts(hCom, Timeouts);
Потом пишу:Res := WriteFile(hCom, s, Length(s) + 1, Written, nil);
Дома все работает. А на работе - нет, а там-то как раз и нужно. hCom определен, но получается Res = False и Written = 0.
Куда смотреть, господа?
← →
jack128 © (2004-11-09 21:34) [1]GetLastError/RaiseLastWin32Error что говорит??
← →
Федор (2004-11-09 21:36) [2]Ну, GetLastError говорит: 36 (или 39? - на работе дело было). И что с ним дальше делать?
← →
Федор (2004-11-09 21:39) [3]>jack128
За RaiseLastWin32Error спасибо. Завтра посмотрю.
← →
jack128 © (2004-11-10 01:28) [4]Федор (09.11.04 21:39) [3]
Названия всех констант, которые возвращает GetLastError начинаются в прифекса ERROR_ .
В Windows.pas эти константы описаны в порядке возрастания их значений - поэтому узнать эти названия не так уж и сложно. А по названию и представить, что за ошибка произошла можно..
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.055 c