Обзор StoClien
Назначение
Основное внимание в примере StoClien уделяется тому, как клиент использует структурированное хранилище и как он указывает компоненту сервера использовать это хранилище. Пример StoClien демонстрирует модель программирования структурированных служб хранилища.
Функциональность
Функциональность StoClien похожа на примеры "набросок" в некоторых версиях Microsoft Visual C++. Разница между примерами StoClien и StoServe заключается во внутренней архитектуре, основанной на технологии COM. Между клиентом COM и COM-сервером сохраняется четкое архитектурное различие.
StoClien загружает и сохраняет свои чертежи в структурированном хранилище составных com-файлов.
В примере StoClien создается и используется подключаемый COM-объект COPaper, который предоставляется в качестве компонента CLSID_DllPaper на сервере StoServe . Клиент StoClien создает объект COPaper и управляет им с помощью интерфейса IPaper, предоставляемого объектом . StoClien получает данные от пользователя и графически представляет их в окне, которым он управляет. StoClien использует интерфейс COPaper IPaper для сохранения данных рисования в COPaper и для направления операций хранения файлов с этим данными.
COM-объект COPaper инкапсулирует только серверное хранилище данных документа документа: на стороне сервера не предусмотрено поведение графического пользовательского интерфейса (GUI). Все действия графического интерфейса изолированы в клиенте. Функции управления данными и хранения объектов COPaper доступны только через пользовательский интерфейс COM IPaper.
StoClien сотрудничает с COPaper для загрузки и сохранения данных чертежа COPaper. StoClien получает интерфейс IStorage для объекта хранилища в составном файле. При выполнении операций загрузки и сохранения StoClien передает указатель на интерфейс IStorage в COPaper на сервере. COPaper использует предоставленный IStorage для создания потоков в хранилище. Затем COPaper может использовать стандартный интерфейс IStream для чтения и записи данных рисования, которыми он управляет.
COPaper управляет только данными рисования; он не выполняет действия с графическим интерфейсом пользователя. StoClien предоставляет графический интерфейс приложения для рисования. Он инкапсулирует его в центральный объект CGuiPaper C++.
StoClien также реализует пользовательский интерфейс IPaperSink в COM-объекте COPaperSink и подключает этот интерфейс к соответствующей точке подключения в серверном объекте COPaper. COPaper использует подключенный интерфейс IPaperSink для отправки уведомлений обратно в StoClien. Обычная перерисовка графического пользовательского интерфейса данных рисования COPaper выполняется в StoClien с помощью технологии соединяемых объектов COPaper.
StoClien — это приложение, которое можно выполнять напрямую обычным способом или из окна командной строки. StoClien принимает необязательный параметр имени файла в командной строке.
В следующем примере Drawing.pap — это составной файл, содержащий совместимое с DllPaper структурированное хранилище данных рисования. Если параметр имени файла командной строки не указан, StoClien использует имя файла по умолчанию Stoclien.pap и пытается открыть его в том же каталоге, что и выполняющийся Stoclien.exe.
StoClien c:\drawings\drawing.pap
Данные поддержки
Дополнительные сведения, функциональные описания и учебник по коду для StoClien см. в разделе Обзор кода в Stoclien.htm. Дополнительные сведения об операциях с внешними пользователями в StoClien см. в разделах Использование и Операции в Stoclien.htm. Чтобы прочитать Stoclient.htm, выполните Tutorial.exe в каталоге учебников по main и щелкните урок StoClien в таблице уроков. Кроме того, щелкните Stoclien.htm после поиска каталога руководства по main в Windows Обозреватель. Дополнительные сведения о том, как stoServe работает и предоставляет свои службы для StoClien, см. в разделе Stoserve.htm в каталоге руководства по main. Имейте в виду, что вы должны построить Stoserve.dll перед строительством StoClien. Файл makefile для StoServe регистрирует этот сервер в системном реестре, поэтому перед запуском StoClien необходимо выполнить сборку StoServe .
Дополнительные сведения о настройке системы для сборки и тестирования примеров кода в этой серии учебников по COM см. в разделе How to Build Samples. Предоставленный makefile (MAKEFILE) совместим с Microsoft NMAKE. Чтобы создать отладочную сборку, выполните команду NMAKE в окне командной строки.
Для удобства для каждого примера предоставляется файл проекта для использования в Microsoft Visual Studio. Чтобы загрузить проект для примера StoClien , запустите Visual Studio в командной строке в каталоге примера следующим образом:
MSDEV STOCLIEN. DSP
Вы также можете дважды щелкнуть файл Stoclient.dsp в Windows Обозреватель, чтобы загрузить пример проекта в Visual Studio. В Visual Studio можно просматривать классы C++ примера источника и, как правило, выполнять другие операции изменения, компиляции и отладки. Имейте в виду, что в составе пакета SDK для сервера компиляция этих примеров из Visual Studio требует правильной настройки путей к каталогам в Visual Studio. Дополнительные сведения см. в разделе How to Build Samples.
Комментарии
Пример клиента и другие связанные примеры должны быть скомпилированы перед запуском клиента. Дополнительные сведения о сборке примеров см. в разделе How to Build Samples. Если вы создали соответствующие примеры, Stoclien.exe является исполняемым файлом клиента, который будет выполняться для этого примера.
Приложение Stoclien.exe предоставляет пользовательский интерфейс для этого руководства. Он использует связанные, но независимые Stoserve.dll, чтобы продемонстрировать использование как клиентом, так и сервером структурированного хранилища COM в составных файлах.