*****关于的几个问题*****^_^

fxjtoday 2002-05-21 03:45:44
(1)关于"永久对象":我看了好久,也不明白永久对象到底是什么意思?
书上说:"客户程序希望执行与存储对象相联系的代码时,他利用clsid,创建一个com
难后把存储对象交给com,由他来处理.把这样的com对象称为永久对象."

那么,存储对象相联系的代码应是来处理存储对象的,他就是com组件实现的永久对象
吗?

又说:"他有永久状态,他可把其状态信息永久保存,以后可重建这样的对象,并恢复以前的状态."
永久对象到底和一般的com对象有什么不同?
他的状态信息是什么内容?不会是注册表信息把?
为什么要永久保存状态信息来重建这样的对象?

反正我对这个概念是一团浆糊.望能形象的讲一下永久对象这个概念.


(2)关于"名字对象":
名字对象又称"永久智能名字"
名字对象应是永久对象的一个实例.
所以也希望各位大虾能结合永久对象来讲讲名字对象.

我觉得本书在此方面讲解不甚清楚.也许是我的理解能力太差^_^

请大家多多指教,如能让我有所觉悟,在加50分.
...全文
48 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gohst001 2002-05-28
  • 打赏
  • 举报
回复
签到
fxjtoday 2002-05-23
  • 打赏
  • 举报
回复
大家都不愿讨论这个问题吗?

^_^
dyugao 2002-05-23
  • 打赏
  • 举报
回复
标记+学习+帮忙up
ultraboy 2002-05-23
  • 打赏
  • 举报
回复
excel的例子fxjtoday说的比较对。看书好认真啊,我看到这麽枯燥的书都是不求甚解的。。
fxjtoday 2002-05-23
  • 打赏
  • 举报
回复
请看看我上面举的例子对不对?
谢谢
bdsc 2002-05-23
  • 打赏
  • 举报
回复
实现了IPersist
+
+-- IPersistFile
+-- IPersistStream
+-- IpersistStorage
的com对象。

可以比照MFC CObject的序列化的概念,主要为了保存对象状态、实现对象网络传输等等。
fxjtoday 2002-05-22
  • 打赏
  • 举报
回复
首先非常感谢皮皮的热情指教:
你把我从一团浆糊中救起.^_^^_^

我自己在根据上面的提醒后,重新认真看了一遍书:
对永久对象有以下体会:
仍以excel为例:
我觉得,一个excel的文件*.xls不是一个永久对象,而是永久对象存储于磁盘上的状态信息.
它作为一个存储对象和excel组件程序向联系.我觉得excel组件程序才是永久对象.此时它处于保持状态.
要使其变为运行状态,通过名字对象找到与*.xls相联系的excel组件对象,并得到其clsid.接着通过cocreatinstance函数来创建这个excel组件(即永久对象),同时用永久对象的load函数来将*.xls作为状态信息装入excel中.
这样就重现了原来的excel文件.
以上是我个人对永久对象的一些猜测.
望各位批评,指教.^_^

关于名字对象我还没有看完,等看完后我会继续提出我的疑问,看法.
ultraboy 2002-05-22
  • 打赏
  • 举报
回复
同意皮皮的说法。。我觉得《COM原理与应用》是讲的不太好,不清楚的看了还是不清楚,清楚的看了要想一下才明白。我觉得都是那些奇怪而又跟英文原意不大贴切的中文术语搞的鬼。。
Hover 2002-05-22
  • 打赏
  • 举报
回复
到此一游...

做个记号,下次再来
qubird 2002-05-21
  • 打赏
  • 举报
回复
topikachu(皮皮)说得对,我支持!!
topikachu 2002-05-21
  • 打赏
  • 举报
回复
以下纯属个人看法
1.关于持久对象
持久对象是这样一种对象:它在卸载组件之前,可以将组件的状态保存在持久介质上--比如磁盘文件.
一个持久对象组件可以分为两种状态,未运行时的保持状态和运行时的可变化状态.举例来说,一个excel文件(xls)就是一种持久组件.在平时是以文件形式存在的,如果运行excel程序,那么装入文件,就形成动态的workbook对象.直到你再次存盘将其持久化.
在vb程序中你可以这样调用
set oWookBook=getobject("myBook.xls")
从而将一个xls文件变成一个对象.

2.关于名字对象.
名字对象是一组字符串的表现形式,当中用特殊的分隔符分开
比如"Sheet1!R1C1:R7C3"就是一种名字对象
名字对象最早是在ole嵌入的时候使用的
比如在一个word文档中嵌入一个excel工作簿,工作簿里又插入一副图片
那么你就可以分层次的找到你的实际对象了
你可以将名字对象想像成com中的url

:)

我的理解,不知道正确与否,请大侠们指正
fxjtoday 2002-05-21
  • 打赏
  • 举报
回复
你能举个应用实例来解释永久对象的必要性吗?
^_^
也就是说说永久对象的典型应用!
fantong 2002-05-21
  • 打赏
  • 举报
回复
(1)就是实现了P*****(名字忘了,楼下补充)接口的对象,它可以将自身的状态数据保存起来在以后实列化的时候恢复以前的状态
注意是自身的 状态 信息
状态信息是啥 比如你有一个 CPerson类
person的名字和年龄就是状态
因为这个状态使此person不同于比person

2偶不大熟,留给楼下的

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧