Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как приостановить работу с COM портом? Citizen PPU-700 
:(
    Опции темы
csander
Дата 6.4.2009, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.5.2007

Репутация: нет
Всего: нет



Доброго времени суток всем. 
Хотелось бы попросить помочь в решении проблемы:
Есть приложение, написанное на Delphi для термопринтера Citizen PPU-700, которое печатает чек:
Код

procedure TForm1.FormShow(Sender: TObject);
begin
BComPort1.Port :='COM3';
BComPort1.BaudRate:=TBaudRate(8);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
BComPort1.Open;
BComPort1.WriteStr('================================================');
BComPort1.WriteStr(#$0A);
BComPort1.WriteStr('* *');
BComPort1.WriteStr(#$0A);
BComPort1.WriteStr('* THE *');
BComPort1.WriteStr(#$0A);
BComPort1.WriteStr('* EXAMPLE *');
BComPort1.WriteStr(#$0A);
BComPort1.WriteStr('* PRINT *');
BComPort1.WriteStr(#$0A);
BComPort1.WriteStr('* *');
BComPort1.WriteStr(#$0A);
BComPort1.WriteStr('================================================');
BComPort1.WriteStr(#$0A);
BComPort1.WriteStr(#$1B#$6D);
BComPort1.Close;
end;


Но есть и основное ПО киоска, которое постоянно висит на COM порте. При нажатии на кнопку "Печать", чек не печатается. Но при завершении работы ПО киоска, он естественно выходит на печать. 
Вопрос: Можно ли каким то образом вмешаться в работу ПО киоска через АПИ функции, чтобы приостановить его работу с портом, и распечатать?
PM MAIL   Вверх
Romikgy
Дата 6.4.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



имхо 

Цитата(csander @  6.4.2009,  07:25 Найти цитируемый пост)
работу ПО киоска

можно перезапускать в принудительном порядке,
или писать в порты напрямую....


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
csander
Дата 6.4.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.5.2007

Репутация: нет
Всего: нет



а как писать напрямую в порт?
никогда с этим не сталкивался, поэтому был бы признателен любой помощи
PM MAIL   Вверх
Virtuals
Дата 7.4.2009, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



csanderhttp://forum.vingrad.ru/forum/topic-254374...068/0.html#look
 smile форум сам для тебя ищет

ЗЫ имхо скачай DRKB, надолго хватит для изучения основ и не только smile 
PM MAIL ICQ   Вверх
csander
Дата 8.4.2009, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.5.2007

Репутация: нет
Всего: нет



то что предложил форум не то, что нужно. там только описание как работать с портом. а мне нужно процесс, который висит на порте заморозить. а после того, как я выполню то что мне нужно, разморозить, чтобы процесс продолжил работу. 
каким образом можно остановить процесс, зная только имя процесса и все? не зная PID...
PM MAIL   Вверх
MetalFan
Дата 8.4.2009, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



Цитата(csander @  8.4.2009,  07:00 Найти цитируемый пост)
зная только имя процесса и все? не зная PID... 

ну PID по имени получить какбы не проблема вроде...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Virtuals
Дата 8.4.2009, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



csander, батенька да вы маньяк, зачем вам это нужно?
учтите что порты относятся к устройствам, которые разрешено использовать только одному процессу. так что просто заморозка процесса вам не поможет. винда отошьет с ошибкой "порт занят другим процессом".
PM MAIL ICQ   Вверх
csander
Дата 9.4.2009, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.5.2007

Репутация: нет
Всего: нет



а снять порт с процесса на определенный период времени можно?
PM MAIL   Вверх
Virtuals
Дата 10.4.2009, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



csander, не надо этого делать. озвуч задачу подробней, может есть более красивое решение.
ну зачем тебе нужно оставлять чужую прогу на порту?

может пойти другим путем? напр с другого порта слать данные, и аппаратно их переключать?
типа ком1 по киоска
ком2 твоя прога, дернув дтр, релюха порт принтера перекинет на тебя, и мучай его как хочеш  smile 

Это сообщение отредактировал(а) Virtuals - 10.4.2009, 07:04
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0683 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.