Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Снова о событиях [D5, Win95/98]


Mikhalyov Dmitry ©   (2001-12-19 19:38:00) 

OnChange взят для примера, а так суть проблемы:
для работы с периферийным устройством (с промышленным
контроллером)есть компонент для работы по последовательному порту.
при отправке данных в порт контроллер в любом случае посылает ответ
и при чтении из порта каждый раз, когда ответ верен, вызывается событие
OnRecieveData.
Мне же нужно сделать, чтобы:
1. вызывать это событие, при опросе контроллера, когда пришло хоть что-нибудь
в порт (неважно верно или нет).
2. и наоборот при записи данных в контроллер, чтобы событие не
вызывалось даже при верном ответе из контроллера.
Компонент используется только в связи с тем, что в нем реализован
какой-то одним врагам понятный (читай разработчикам фирмы Siemens)
способ доступа к памяти контроллера.


Someone   (2001-12-20 01:39:00) [1]

Хм.. Не хилый вопрос, которык, к тому же следовало бы задать в другой конференции форума.
По сути, имхо, заставить "чужой" компонент делать всё что "душеньке угодно" вряди возможно (если нет исходников, если они есть - дальше можно не читать). Могу лишь посоветовать способ использованный мною уже дважды.
На компьютере 1 стоит программа с компонентом и к порту его подключен контроллер. Рядом ставится компьютер 2 с двумя свободными портами. На Rx одного из портов компьютера 2 подается Rx порта компьютера 1, на Rx другого порта компьютера 2 подается Tx порта компьютера 1. Затем на компьютере 2 запускается программа, которая читает оба порта (на мой взгляд лучше использовать DOS программу) и записывает считанную информацию побайтно в файл, лучше в три файла. На компьютере 1 запускается программа с вышеупомянутым компонентом и производится работа с ней по максимуму возможностей.
В итоге имеем файл(ы), в которых содержится "протокол" обмена с контроллером. Изучаем его и пишем свою программу без "вражеского" компонента.
P.S. Конечно это долго и трудоёмко. Конечно это не пройдет, если передаваемая информация зашифрована.


Mikhalyov Dmitry   (2001-12-19 23:39:00) [2]

напишите хоть что-нибудь полезное


Наверх

Титульная страница Поиск, карта сайта Написать письмо