![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Снова о событиях [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]напишите хоть что-нибудь полезное