Обмен данными между DLL и программой
Подскажите как лучше обменеваться данными между DLL и программой.
DLL - хук клавиатуры WH_KEYBOARD, помимо хука, DLL буферит считанные данные в TList типизированные поинтеры, которые содержат данные о нажатых символах (скан код, виртуальный код, таймаут, состояния шифтов/альтов/контролов).
Тестовая программа крутит поток, который вызывает динамически подключенные процедуры из DLL, которые возвращают состояния DLL:
- занята/не занята,
- есть данные в буфере/нет данных
- возврат буфера
- очистка буфера
Нормально ли это, или для постоянного получения/опрашивания данных DLL лучше реализовать по другому работу с DLL?
|