Поиск по этому блогу

четверг, 23 июня 2011 г.

Обмен информацией между процессами vs WM_COPYDATA

Реализация IPC vs  WM_COPYDATA

Немного теории.
Сообщения WM_COPYDATA дают возможность обмениваться информацией между процессами. Обмен происходит через ядро (kernel). В принимающем процессе выделяется память (space) и удерживается для скопированных ядром данных. Отправитель обязан передать указатель на структуру с данными (COPYDATASTRUCT).
WM_COPYDATA
wParam = (WPARAM) (HWND) hwnd;   // дескриптор передающего окна
lParam = (LPARAM) (PCOPYDATASTRUCT) pcds;   // pointer COPYDATASTRUCT  - указатель на структуру с данными
Результат true - если принимающая программа обработала сообщение, false - нет.
Реализация.

Fix SOAPHTTPTrans.pas (D7)


Фикс D7 для корректного отображения progress'а загрузки от  Deepak Shenoy 2.2.2004
SOAPHTTPTransp.pas

среда, 22 июня 2011 г.

Delphi. Web службы SOAP

В этой статье.
Небольшая схема работы веб сервисов
Практическая реализация простого приложения
Передача файла с progress bar'ом

Сервисы - это модульные приложения, которые могут быть вызваны и опубликованы в инете.
Работа с ними ведется с помощью протокола SOAP - стандарт легковесного протокола обмена информацией (simple object protocol). Это протокол использует XML для кодирования удаленных вызовов процедур и использует коммуникационный протокол HTTP.

Приложения Web-служб публикуют информацию о том, через какой интерфейс они доступны и как осуществить их вызов с помощью документов WSDL.

CGI на Lazarus с использованием fcl-web

CGI на Lazarus с использованием fcl-web
Lazarus 0.9.30 FPC 2.4.2 fcl-web (ставила только weblaz.lpk rev.15359)
грузим отсюда http://code.google.com/p/qxpascal/downloads/list свежую библиотеку

понедельник, 20 июня 2011 г.

Delphi 2007 CGI приложение. Отправляем поток в формате utf-8

Этот код:
1. Кодирует обычную строку в utf-8
2. Помещает эту строчку в поток (stream)
3. И пишет этот поток в ответ (Response)
В результате клиент в браузере получает строчку Это данные из потока ...