Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.079 c
1-1102709098
Lelik
2004-12-10 23:04
2004.12.26
Обращение с QReport


1-1103046918
_Просто Гость_
2004-12-14 20:55
2004.12.26
Как посчитать сколько таких символов в стороке?


1-1103007188
dr Tr0jan
2004-12-14 09:53
2004.12.26
Почему к строке StringGrid нельзя применить Delete?


10-1067872500
dmuv
2003-11-03 18:15
2004.12.26
idl2pas и ее встроенность в Delphi


1-1102497058
TUser
2004-12-08 12:10
2004.12.26
Одна консоль на двоих и много на одного