|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
idHttpServer и буфер обмена
Добрый день!
Прошу помочь с решением следующей задачи: Имеется компонент IdHTTPServer, с помощью event OnCommandGet произвожу обработку входящих запросов. После прихода запроса, приложение должно поместить данные в clipboard, и дождаться их изменения, заново прочитать из буфера и отправить клиенту. закрыв после этого соединение. Проблема: в том, что мне неизвестно как из обработчика события WM_DRAWCLIPBOARD получить доступ к открытому соединению, либо как из обработчика OnCommandGet компонента IdHTTPServer дождаться изменения содержимого клипбоарда. Второй способ мне кажется наиболее правильным, и прошу подсказать каким образом это сделать (либо о том как вы считаете более правильно) Как я решал проблему: с помощью TServreSocket создал соединение, затем не закрывая его, из обработчика WM_DRAWCLIPBOARD обращался к открытому соединению и отправлял результаты туда. Затем меня не устроила работа TServerSocket (не помню почему), и я решил переписать все на компонентах Indy о которых хорошо отзываются. Большая просьба помочь с решением этой задачи. P.S: Обработку клипбоарда провожу по правилам с регистрацией в цепочке наблюдателей. protected procedure WMChangeCBChain(var Msg: TWMChangeCBChain); message WM_CHANGECBCHAIN; procedure WMDrawClipboard(var Msg: TWMDrawClipboard); message WM_DRAWCLIPBOARD; |