Форум по Delphi программированию



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.08.2015, 07:36
tested tested вне форума
Прохожий
 
Регистрация: 26.08.2015
Сообщения: 1
Версия Delphi: XE8
Репутация: 10
Вопрос COM-порт и эмулятор

Пользуюсь эмулятором http://www.aggsoft.ru/com-port-emulator.htm
При ВЫключенном эмуляторе в переменную RD_hCOM возвращается handle порта
Код:
RD_hCOM:=createfile (('COM3'),
                       generic_read or generic_write,
                       0,
                       nil,
                       open_existing,
                       FILE_FLAG_OVERLAPPED{0},
                       0);

При включенном эмуляторе в переменную RD_hCOM возвращается значение INVALID_HANDLE_VALUE.
Пробовал другой эмулятор - то же самое.
Пробовал поставить виртуальные COM-порты - то же самое.
Пробовал пользоваться готовыми библиотеками компонентов ComPort Library. На "TComPort.Open;" при включенном эмуляторе выходит ошибка "Unable to open com port (Error: 5)"
Пробовал сделать через обычный текстовый файл (отчаившись ):

Код:
var f:TExtFile;
    s:string;
    i:Integer;
begin
  i:=0;
  while (s='')and(i<10) do
    begin
      AssignFile(f, 'Com3');
      Reset(f);
      read(f, s);
      inc(i);
      sleep(500);
      CloseFile(f);
    end;

  edit1.text:=s;
end;

При включенном эмуляторе выходит ошибка "File access denied."
Скачал программу которая работает с COM-портами, при включенном эмуляторе также не получается открыть порт

Может как-то операционкой блокируется или еще что?
Кто-то сталкивался с подобным?
Ответить с цитированием
  #2  
Старый 26.08.2015, 09:23
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Санкт-Петербург
Сообщения: 2,903
Репутация: выкл
По умолчанию

Попробовал программу, прям заинтересовался. По факту оказалось что она открывает порт и что-то туда пишет (что писать указываешь на второй вкладке). Обидно. Я тож сперва подумал, что программа эмулирует порт находящийся снаружи.

Посмотрел еще на сайте. Наверное стоит попробовать такой алгоритм: взять их Virtual Null Modem объединить пару портов, на один натравить эмулятор, вторым работать из своего софта. Таким образом получим в своей программе то что летит из эмулятора.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.

Последний раз редактировалось Aristarh Dark, 26.08.2015 в 09:32.
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2021

ВКонтакте   Facebook   Twitter