VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 693|回复: 9

IOleClientSite 站点是干什么,在ActiveX控件中起什么作用

[复制链接]

2

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-2-4 11:00:01 | 显示全部楼层 |阅读模式
IOleClientSite  站点是干什么,在ActiveX控件中起什么作用

看了好久,一直没有弄明白这个概念!
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-3-26 18:00:02 | 显示全部楼层
看看 inside ole2
回复

使用道具 举报

2

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
 楼主| 发表于 2020-3-30 08:45:01 | 显示全部楼层
However a container decides to provide storage elements, it will also need some sort of data structure or internal C++ object to manage that storage and all the other information about the content object itself. This structure or object is called a client site, or container site. For every content object in a compound document, the container creates a site to manage that content object. The site itself also exposes container-side functionality to the content object in question through two interfaces of its own: IOleClientSite and IAdviseSink, as illustrated in Figure ...

----from inside ole2 ,chapter 17
...manage that storage and all the other information...
恕我愚钝,还是不大明白。
回复

使用道具 举报

0

主题

8

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-25 22:30:01 | 显示全部楼层
概念不清晰!
谁来说一说!
回复

使用道具 举报

0

主题

3

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-5-6 18:00:01 | 显示全部楼层
这个接口是当你的控件需要 inplace edit 的时候 必须继承的借口
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-5-14 00:45:01 | 显示全部楼层
也遇到这个问题了
借地方问一下,我写的DLL控件 原来是没有IOleClientSite接口的,但是后来因为需要访问网页上 JAVASCRIPT的函数,所以加上了 , 然后我的控件在下载的时候就无法注册了,但是手工用regsvr32 就可以注册,请问这个是为什么呢?
回复

使用道具 举报

2

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
 楼主| 发表于 2020-5-19 09:15:01 | 显示全部楼层
件在下载的时候就无法注册了
------------
这个可能是ie安全的考虑。可能需要实现其他的接口ISafe****
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-5-25 19:15:01 | 显示全部楼层
TO waiw123 ( )

之前是可以下载的,只是说加了IOleClientSite接口后,才不能注册的,而且安全接口啊什么的我肯定都已经实现了的,真奇怪啊,为什么呢?
回复

使用道具 举报

2

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
 楼主| 发表于 2020-5-28 11:45:01 | 显示全部楼层
据我所知:IOleClientSite 如果为NULL,后面的行为将是

msdn:IOleObject::SetClientSite
The NULL pointer says that that no client site is available and thereby defers notifying the object handler of the client site until the object is initialized.
....
回复

使用道具 举报

2

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
 楼主| 发表于 2020-5-29 16:30:01 | 显示全部楼层
你可以用GetClientSite()试着得到一个site,
如果不行的话,我也不知道怎样得到一个ClientSite,
我也没有发现哪一个默认的实现ClientSite
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表