Когда я пытаюсь подключиться к COM-порту в Windows 7, используя AsyncPro (TApdComPort), я получаю сообщение об ошибке вроде «Устройство уже открыто». Но одно и то же приложение отлично работает в Win Xp. Я использую Delphi 6 для разработки программы. Пожалуйста, помогите мне решить эту проблему. Цените свою помощь. Спасибо.COM-порт уже открыт в Windows 7
ответ
Какой компонент вы используете для подключения к COM-порту?
Если вы используете API CreateFile для открытия порта, используйте GetLastError() API для определенной ошибки вашей проблемы.
Если это не поможет, то это означает, что это аппаратная проблема
Не знаю о компоненте, который вы используете ApdComPort, но вы можете сделать простой тест написать простое приложение, чтобы открыть порт так же, как это
var
comHandle : THandle;
begin
comHandle := CreateFile('COM66',GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,0,0);
if comHandle = INVALID_HANDLE_VALUE then ShowMessage(SysErrorMessage(GetLastError))
else ShowMessage('Port opened');
end //Make shure to replace COM66 with your actual COM Port you wish to open
Если он показывает то порт открыт, это проблема с компонентом, который вы используете, так что я рекомендовал бы этот один http://sourceforge.net/projects/comport/ пост здесь другое сообщение об ошибке, чтобы найти решение.
@ opc0de Я использую компонент ApdComPort. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. –
@ Delphian checkout мое редактирование и сообщение о том, какая ошибка вы получаете – opc0de
Я использую следующие настройки: ComNumber: = 1; Baud: = 1200; DataBits: = 8; StopBits: = 2; Соотношение: = pNone –
У меня была аналогичная проблема, которая была решена путем изменения имени порта с COM1 на COM4 в дополнительных свойствах последовательного порта (через диспетчера устройств).
Все в порядке. Некоторые программы по-прежнему видят переименованный порт как COM1, но теперь они могут получить доступ к порту.
Для меня проблемой был удаленный рабочий стол. Я отключил все локальные ресурсы в соединении. Как-то удаленный рабочий стол блокировал COM-порт!
- 1. Как проверить файл уже открыт в функции CreateFile в Windows
- 2. поток уже открыт - Исключение
- 3. Прочтите файл, который уже открыт в Word
- 4. Закройте документ, который уже открыт
- 5. Добавить магазин уже открыт IndexedDB
- 6. mysql вложенный курсор уже открыт
- 7. JavaScript close уже открыт div
- 8. PLSQL «ошибка Курсор уже открыт»
- 9. Почему всегда курсор уже открыт?
- 10. Монитор последовательного порта уже открыт
- 11. Проверка порта UDP открыт уже в C
- 12. Хвост уже открыт файл в Perl
- 13. проверить, что Powerpoint уже открыт в Java?
- 14. SqlDataReader уже открыт в другой команде
- 15. Обнаружение, если файл уже открыт в javascript
- 16. C++ ShellExecute «открыт» в уже открытом окне
- 17. близко предыдущий открыт DIV если ДИВ уже открыт
- 18. AppleScript: «файл уже открыт», но «файл не был открыт»
- 19. Режим совместимости Windows 7 в Windows 7
- 20. Исключение при открытии файла, который уже открыт
- 21. DataReader уже открыт при использовании LINQ
- 22. Как достать терминал, который уже открыт?
- 23. inode - переместить файл, который уже открыт
- 24. Сообщение Acrobat's "Этот файл уже открыт"
- 25. Powerbuilder: как найти файл excel уже открыт
- 26. Проверьте, был ли файл уже открыт
- 27. Linq 2 Sql - Уже открыт datareader Выпуск
- 28. Как скрыть div, когда он уже открыт?
- 29. Идентификация, если экземпляр окна уже открыт
- 30. python xlrd проверить, если файл уже открыт
Так в чем проблема? Сообщение об ошибке сообщает вам, что случилось. Какую причину вы считаете проблемой не так просто, как найти программу, открытую и закрывающую порт? См. [Теперь, кто использует мой COM-порт?] (Http://superuser.com/q/55334) для суперпользователя. Stack Overflow для проблем программирования, но я еще не убежден, что у вас есть * проблема программирования. –