Re: Проблема с клиентом на Win98.
От: romulus  
Дата: 23.12.03 18:31
Оценка:
Здравствуйте, BoikoRoman, Вы писали:

BR>Имеем:

BR>1. Внепроцессный сервер. Некоторые методы принимают в качестве параметра IHTMLDocument2.
BR>2. Удаленного клиента на Win2000 и Win98.
BR>3. Проблемы с клиентом на Win98. Только при вызове методов, принимающих в качестве параметра IHTMLDocument2.
BR>4. Метод сервера, который принимает парметром IHTMLDocument2, запускает нитку и передает в нее полученный IHTMLDocument2, а нитка вызывает другой метод (***) этого же интерфейса и отправлят туда IHTMLDocument2, в который пишется текст.

BR>Проблема:

BR>Если клиент на Win2000, то проблем нет. На Win98 не происходит вызов метода (***), т.е. подготовка параметров проходит а самого вызова нет, как будто его нет в тексте. В чем проблема и как ее исправить?


1. как интерфейс передаётся? маршалится?
2. MSHTML вообще криво сделан. Если запускать его не в STA или пытаться использовать из разных апартментов, то некоторые интерфейсы не возвращаются. Там внутри стоит проверка на соответствие апартмента тому где MSHTML создавался. В частности вроде IMarkupServices не доступны. Так что лучше сразу играть по их правилам — создать обёртку над IHTML* и уже с ней работать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.