ПРИМЕЧАНИЕ
Дело в том, что для соединения
клиентского приложения с сервером в данном случае используется
TSocketConnection (scDoc). При обращении к интерфейсу удаленного модуля как к
variant (через свойство AppServer) вызовы методов сервера в некоторых случаях
вызывают сбой (Access violation). Поэтому все вызовы я произвожу через
dispinterface, имя которого отличается от имени исходного интерфейса
суффиксом Disp. Импорт библиотеки типов как раз и позволяет обращаться к
этому интерфейсу.
Кроме того, при обращении к серверу с
импортированной библиотекой типов все параметры процедур проверяются на этапе
компиляции, и вызов GetDispIDsOfNames не производится, что ускоряет вызовы
методов.
Для импорта надо выбрать пункты меню Project ->
Import Type Library, и выбрать в списке DocServer library. Не забудьте, что сервер при этом должен быть зарегистрирован в
реестре. После этого остается отключить опцию Generate Component Wrapper и
нажать Create Unit, поскольку компонент в данном случае не нужен, достаточно
только объявлений.
|