Форум: "Система";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Внизкак проверить - не занят ли ком порт ?с одного окна Найти похожие ветки
← →
ah (2002-05-04 15:54) [0]вроде получается , т.е если в одном же окне открыл компорт, в ней же могу посмотреть- покеазывает что открыт, запускаю копию той же проги, та не показывает что порт открыт, и при попытке с нее открыть возникает ошибка , как быть ?
← →
Doom (2002-05-04 21:04) [1]так и быть потому что так и должно быть
← →
mifi (2002-05-04 23:36) [2]если открываешь порт через файл попробуй дать файлу не монопольный отребут(точно не помню как называется)может получится
← →
Aleks1 (2002-05-05 02:35) [3]Единственно грамотный ответ, если я правильно понял вопрос, это "Запрет на запуск более, чем одного, экземпляра программы", что, кстати, вполне естественно для таковой, если ей нужен "компорт"!
Варианты решения в FAQ точно были.
← →
ah (2002-05-05 06:52) [4]насчет запрета запуска копии я согласен, но если предположим порт уже занят например модемом, в этом случае как быть ?
← →
Aleks1 (2002-05-06 03:24) [5]Как быть? Либо переключиться на другой порт (если он есть), либо сообщить пользователю, что он "не прав", пытаясь запустить более одной программы, работающей с одним и тем же "компортом".
← →
af (2002-05-06 18:38) [6]просто такой момент- программа на дельфи, используещая компонент comportlibrary,( если порт был открыт до этого другой программой )зависает порт, и невозможно к нему обратиться, но не перегружая в то же время можно обратиться к тому же порту через другую программу, например compic - это программа для прошивки Пиков и никакой ошибки не возникает. Т.е что я хочу - моя программа должна проверить компорт, если он свободен работать с ней , вопрос как раз в этом , как проверить ?
← →
mifi (2002-05-06 19:44) [7]открывай порт как файл если хандл файла ноль значит порт уже открыт если не ноль значит не открыт только потом не забывай его закрывать.
← →
Aleks1 (2002-05-07 02:52) [8]> ah или af
Давай отделим мух о котлет.
Если имеется "глюк" от некоей программы, то нужно лечить ее, либо "ампутировать ее". Во всех прочих случаях "Открытие" порта - и есть ответ на вопрос, занят ли он или нет!
← →
af (2002-05-07 18:25) [9]это же не глюк программы- для компонента есть функция comport.connected, если false то закрыт порт, и наборот, все это работает , если с одной проги порт открыт , но если открою еще такую же прогу , и попытаюсь проверить тот же порт, она покажет, что порт закрыт...
← →
Aleks1 (2002-05-08 04:20) [10]" но если открою еще такую же прогу , и попытаюсь проверить тот же порт, она покажет, что порт закрыт..."
А как же про
"ah © (05.05.02 06:52)
насчет запрета запуска копии я согласен"?
С чем тогда согласен?
Программа проверяет порт открывая его. Первый экземпляр программы может его открыть и открывает. Второй экземпляр той же программы пытается открыть уже открытый порт и не может, о чем и сообщает.
← →
af (2002-05-08 18:06) [11]есть такая функция у компонента - проверка открытости порта, так вот когда я открываю порт и там же проверяю, показывает открыт порт, а если с другого окна , т.е копии проверяю открыт или нет, говорит что нет...а хотя первая программа порт открыл
← →
Aleks1 (2002-05-08 18:12) [12]Ааа... вот как! Не зная компонента ответить нереально. Можно лишь предлагать варианты. Ну типа, может она открывает порт только на некое "необходимое" время, например для посылки данных, а потом молча закрывает до следующего случая?
← →
af (2002-05-08 18:27) [13]ну а , что предположим мне нужно сделать, я хочу программу написать , чтобы на любом компе можно было запустить , т.е. если порт занят модемом, чтобы программа сказала , что порт уже занят, выберите другой ..
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c