Member
Статус: Не в сети Регистрация: 25.11.2005 Откуда: краснодар
сабж. можно ли избавиться от данного явления? практически нагрузка не ощущается(подвисания системы не чувствуется) но интересно почему так грузит. открываю из виндовой программы через функцию createfile.
вот кусочек который открывает порт
Код:
function TForm1.openport(name: string): thandle; var DCB : TDCB; port:thandle; begin Port := CreateFile(PChar(name), GENERIC_READ + GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); // 2. Контроль ошибок if Port = INVALID_HANDLE_VALUE then begin showmessage('port opening error'); exit; end; // 3. Чтение текущих настроек порта if GetCommState(Port, DCB) then ; // 4. Настройки: // Скорость обмена DCB.BaudRate := CBR_4800; // Число бит на символ DCB.ByteSize := 8; // Стоп-биты DCB.StopBits :=OneStopBit; // Четность DCB.Parity := NOPARITY; DCB.Flags := 20625; // 5. Передача настроек if not SetCommState(Port, DCB) then {ошибка настройки порта}; // 6. Настройка буферов порта (очередей ввода и вывода) if not SetupComm(Port, 16, 16) then {ошибка настройки буферов}; //настройка таймаутов чтения и записи commtimeouts.ReadIntervalTimeout:=10; commtimeouts.ReadTotalTimeoutMultiplier:=2; commtimeouts.ReadTotalTimeoutConstant:=8; commtimeouts.WriteTotalTimeoutMultiplier:=1; commtimeouts.WriteTotalTimeoutConstant:=1; setcommtimeouts(port,commtimeouts); result:=port; end;
придумывал не сам, содрал с какого-то сайта(кроме настройки таймаутов)
Member
Статус: Не в сети Регистрация: 25.11.2005 Откуда: краснодар
даже если закомментировать все кроме
Port := CreateFile(PChar(name),
GENERIC_READ + GENERIC_WRITE,
0, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
то после выполнения загрузка все равно 100%
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения