Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.02.06;
Скачать: CL | DM;

Вниз

Запустить одну процедуру несколькими потоками   Найти похожие ветки 

 
Jee   (2010-09-04 14:24) [0]

Мастера Дельфи (7), помогите - надо одновременно принимать данные с 16 СОМ-портов - как по выбору запускать 16 процедур опроса? для каждого писать свою или можно написать одну и её тиражировать -в нужные моменты стратуя? как?
сейчас один СОМ-порт опрашивается отдельным потоком
type
 TCommThread = class(TThread)
 private
   Procedure QueryPort;
 protected
    Procedure Execute; override;
 end;
надо написать 16 таких потоков? и никак не оптимизировать?


 
Медвежонок Пятачок ©   (2010-09-04 14:44) [1]

ага.
причем понадобится 16 отдельных компьютеров в 16 разных квартирах в 16 разных городах.


 
Jee   (2010-09-04 15:09) [2]

не смейтесь ( я понимаю, что ламер и юзер, но я хочу присоедениться к рядам профессионалов, плюс проект горит с 16 модемами, начальство шкуру дерет - а с программированием только началось знакомство - многое без проблем - а с потоками - созданием новых из цикла - пока не получается, погуглил в яндексе - здесь самая адекватная инфа! Прошу, поможите чем можите - с мира по нитке - голому гора ниток!


 
Медвежонок Пятачок ©   (2010-09-04 16:05) [3]

TCommThread = class(TThread)
private
  Procedure QueryPort;
protected
   Procedure Execute; override;
public
 constructor CreateIt(const AComName : string) ;
end;


 
Jee   (2010-09-04 17:11) [4]

Похоже, что и destructor нужен, огромное Человеческое Спасибо за наВодку!!! буду гуглить в этом направлении!!!


 
Плохиш ©   (2010-09-04 17:12) [5]


> Jee   (04.09.10 17:11) [4]
>
> Похоже, что и destructor нужен

Деструктор там уже есть.


 
Юрий Зотов ©   (2010-09-04 17:21) [6]

> Jee   (04.09.10 14:24)  

Надо написать 1 класс такого потока и создать 16 его экземпляров - каждый на свой порт.


 
Anatoly Podgoretsky ©   (2010-09-04 17:25) [7]

> Jee  (04.09.2010 17:11:04)  [4]

destructor здесь не нужен


 
cwl ©   (2010-09-04 23:15) [8]

токмо про синхронизацию (ежели эти 16 используют общие данные) не забывать. возможно, скармливать данные экземпляру другого класса - щтобы другие потоки не стояли в очереди


 
vpivo ©   (2010-10-23 21:33) [9]

Есть подозрение, что в Вашей TCommThread.Execute ... ну как бы это сказать ... не очень хорошо.


 
Иксик ©   (2010-10-24 02:06) [10]


> Плохиш ©   (04.09.10 17:12) [5]
>
>
> > Jee   (04.09.10 17:11) [4]
> >
> > Похоже, что и destructor нужен
>
> Деструктор там уже есть.


:)))


 
GanibalLector ©   (2010-10-25 11:44) [11]

А где ты нашел 16 портов? Это что ж за ПК такой?
Ну, 4 я еще пойму. Но 16 ??? Это не шутка?


 
RWolf ©   (2010-10-25 11:59) [12]


> GanibalLector ©   (25.10.10 11:44) [11]


> Ну, 4 я еще пойму. Но 16 ??? Это не шутка?

всего-то четыре копеечных платы расширения PCI; в промышленных и побольше бывает.


 
Slym ©   (2010-10-25 12:04) [13]

GanibalLector ©   (25.10.10 11:44) [11]
в обычном кассовом аппарате 8 портов, на всякие ридеры терминалы, фискальники :) еще расширить можно...
в стареньком банкомате сом портов не меньше...


 
GanibalLector ©   (2010-10-25 12:38) [14]

2 RWolf ©   (25.10.10 11:59) [12]

Я видел (и использовал) такие PCI платы, но только там 2 порта. Даже если предположить, что существует с 4 портами, то тогда возникает проблема со слотами на ПК. Где найти 4 свободных PCI  слота? Гемморойно, короче.

Slym ©   (25.10.10 12:04) [13]
>в обычном кассовом аппарате 8 портов
Уверен? Я только ими и занимаюсь. 4 максимум! Откуда 8?
http://talla2k.livejournal.com/tag/разъем


 
RWolf ©   (2010-10-25 12:47) [15]


> GanibalLector ©   (25.10.10 12:38) [14]

просто как пример, платы на 4 и 8 портов: http://www.umx.ru/moxa.html.
а уж переходников USB-COM можно подключить и вовсе немеряно; а это ещё по одному COM-порту каждый.
ну, и PCI-разъёмов на разных машинах по-разному. На десктопах ныне обычно ставят мало, да


 
Anatoly Podgoretsky ©   (2010-10-25 12:49) [16]

> GanibalLector  (25.10.2010 12:38:14)  [14]

16 портовые платы обычное явление, практически на любые типы интерфейсов
есть.
С разъемами проблем нет, они в комплекте


 
miek   (2010-10-25 19:18) [17]

Там имелся в виду кассовый терминал (POS). В обычных кассах я и вправду больше 4 не видел.


 
Slym ©   (2010-10-26 07:07) [18]

Slym ©   (25.10.10 12:04) [13]
занимаюсь

Подключал недавненько POS терминалы мне достался COM8... все остальные были заняты...

Стационарный сканер.
Ручной сканер (как-то на клаву зацеплен чтоли)
Фискальник
Выносное табло
Еще какаято хрень
Терминал сбера
Терминал Золотой короны
Мой терминал :)



Страницы: 1 вся ветка

Текущий архив: 2011.02.06;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.007 c
15-1287138691
xayam
2010-10-15 14:31
2011.02.06
Чего выбрать из SSD?


15-1287865739
Юрий
2010-10-24 00:28
2011.02.06
С днем рождения ! 24 октября 2010 воскресенье


15-1288009676
Alx2
2010-10-25 16:27
2011.02.06
Перепись. Последний день.


2-1288885183
harisma
2010-11-04 18:39
2011.02.06
Присвоение TField.Value или TField.AsString


8-1209231401
Sound
2008-04-26 21:36
2011.02.06
mp3 format