Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 21.03.2007, 15:22   #1
Lexx
Пользователь
 
Аватар для Lexx
 
Регистрация: 21.03.2007
Сообщений: 14
По умолчанию Доступ к com порту для нескольких приложений

Проблема следующего характера:

Оборудование стоит в другом городе, диагностируется при помощи компьютера, который подключается через rs232 к стойке оборудования, и специализированной дос проги. Закуплены gprs модемы для удаленного контроля за состоянием оборудования. Вопрос:
Как из делфы открыть порт, набрать номер (позвонить с gprs модема) и не закрывая порт (т.к. произойдет разрыв соединения) дать доступ к нему другому приложению (дос прога)?
Если бы досовская прога могла сама номер набрать. проблем бы не было...
Помогите плзз, давно мучаюсь с этой проблемой!
Lexx вне форума Ответить с цитированием
Старый 21.03.2007, 17:18   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Как из делфы открыть порт, набрать номер
Установить зарегистрированное в системе соединение:
Для Nt, w2k, XP:
Uses ..., WinInet;

InternetAutoDial (INTERNET_AUTODIAL_FORCE_ONLINE, Handle);
Handle - окно, из которого вызывается функция.
mihali4 вне форума Ответить с цитированием
Старый 21.03.2007, 17:32   #3
Lexx
Пользователь
 
Аватар для Lexx
 
Регистрация: 21.03.2007
Сообщений: 14
По умолчанию

Наверное меня не правильно поняли =). Позвонить я из делфы могу, есть спец команда для модема "ATD#", а написал я "как... набрать номер" для пояснения, для чего мне это нужно =). Суть в том, что мне необходимо открыть порт на доступ для разных приложений, т.е. чтобы его юзали 2 приложения одновременно!
"Установить зарегистрированное в системе соединение:" - если звонить средствами винды, она опять же занимает порт на себя, и пока не разорвешь соединение, к нему не достучишся. Поэтому я ищу возможность функциями API (или хоть как-нить подругому!!) открыть последовательный порт не занимая его.
Но всё равно спасибо за ответ =)
Подскажите кто-нить возможно ли это вообще, и как это сделать!
Lexx вне форума Ответить с цитированием
Старый 21.03.2007, 20:21   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вот ссылочка с нужными материалами:
http://wasm.ru/article.php?article=apihook_3
mihali4 вне форума Ответить с цитированием
Старый 22.03.2007, 08:21   #5
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,808
По умолчанию

ну если соединение установлено, то зачем его устанавливать ещё раз?
rpy3uH вне форума Ответить с цитированием
Старый 22.03.2007, 09:59   #6
Lexx
Пользователь
 
Аватар для Lexx
 
Регистрация: 21.03.2007
Сообщений: 14
По умолчанию

ннда..... такое впечатление, что тему читают либо с бодунища, либо вообще не читают, а сразу ответ пишут =)

to mihali4: За ссылочку большое спасибо, сча полезу там рыться.... =)

Ещё раз поясню:
Соединение установлено между модемами, но мне то нужно чтобы досовская прога через эти модемы сняла параметры с оборудования в другом городе, только то ПО, которое устанавливает соединение, занимает порт, и больше ни одно приложение не может к нему обратиться! Сама досовская прога звонить не умеет, она обращается напрямую к com порту для работы с оборудованием, а в момент соединения м/у модемами порт занят! вот мне и необходимо написать прогу, которая сможет набрать номер не занимая порт.
... ну вроде уже более доступно объяснил =)

Последний раз редактировалось Lexx; 22.03.2007 в 10:05.
Lexx вне форума Ответить с цитированием
Старый 22.03.2007, 12:27   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Сложность такого подхода заключается в том, что ДОС понятия не имеет о многопользовательском режиме и все ресурсы гребет под себя, а винда отдавать не хочет...
mihali4 вне форума Ответить с цитированием
Старый 22.03.2007, 20:07   #8
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,808
По умолчанию

проблема не в этом проблема в том что если модем включается, то он не может выполнить 2 задания одновременно т.е. он не может звонить на 2 номера одновременно, в твоём случае модем уже позвонил, и ты его хочешь заставить позвонить во второе место не ложа трубку
rpy3uH вне форума Ответить с цитированием
Старый 23.03.2007, 12:01   #9
Lexx
Пользователь
 
Аватар для Lexx
 
Регистрация: 21.03.2007
Сообщений: 14
По умолчанию

to mihali4: так пускай досовская прога и гребет под себя ресурсы, главное чтобы соединение не разорвалось...

to rpy3uH: =) я ещё раз повторяю: мне не нужно 2 раза звонить! досовская прога не умеет звонить! именно поэтому мне необходимо позвонить вмето неё, но так, чтобы не занять порт, иначе эта прога скажет мне что порт занят и работать не будет! прога считает что на локальный порт подключено оборудование, но на самом деле между портом и оборудованием висит 2 gprs модема, и чтобы прога заработала, необходимо установить соединение между модемами!
4-й раз пытаюсь объяснить что мне нужно сделать... неужели до этого недоступно пояснял? Я благодарен за неравнодушие к этой теме, для меня она очень важна, но прошу: пожалуйста, внимательно читайте суть проблемы =)
Lexx вне форума Ответить с цитированием
Старый 23.03.2007, 20:13   #10
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,808
По умолчанию

набрать номер это и есть занять порт по другому нельзя, и я не представляю как можно соединить два модема не звоня,
вопрос: когда досовская прога коннектиться модем шипит?
rpy3uH вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как считать данные с устройства, подключенного к СОМ(или ЮСБ)-порту voron29 Общие вопросы Delphi 5 21.06.2008 14:08
Обращение к COM-порту из обработчика системного таймера (приложение WinForm) mdrake Общие вопросы .NET 4 18.06.2008 08:36
запрет установки соединения с данным компьютером с помощью винсокетов по любому порту joker Win Api 4 08.11.2007 17:54
Доступ к ИК порту ЧИЖ Win Api 4 09.05.2007 19:41
Закрытие доступа к СОМ- порту nova-alex Win Api 2 21.02.2007 11:55


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840