关于库的引用问题

sxlhl365 2011-05-21 11:18:13
我在软件中要用到frontpage的库,但如果系统装的frontpage版本不一样,就要引用不同的frontpage对象库,即:如果装的是frontpage2000,引用的是Microsoft Office Frontpage 4.0 web object;如果装的是frontpage2003,引用的是Microsoft Office Frontpage 6.0 web object,这样我就要为不同的机器分别生成不同的程序,非常麻烦,有没有什么好的解决办法?
...全文
105 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqq_chen 2011-05-24
  • 打赏
  • 举报
回复
如果是 execl对象,版本问题都不需要考虑,也低版本的高版本一定支持,frontpage没有用过,所以...
咸清 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sxlhl365 的回复:]

引用 4 楼 ybh37 的回复:
这个,貌似代码可以控制。

先辨别版本,然后用代码运行时注册即可。


怎样在程序执行时动态的引用frontpage对象库版本,又如何注册呢?

(有一点要说明:程序中有frontpage对象变量的定义,如:m objWeb As New FrontPage.Application)
[/Quote]
当然可以啊。需要Active ExE 或者用条件编译!VB都支持的很好。
不过,老马的方法更简单。
sxlhl365 2011-05-24
  • 打赏
  • 举报
回复
在百度中也找到了答案,摘录在下,以供参考,谢谢myjian,ybh37,都是高手啊


就拿ADO对象来说,如果你是在工程里引用的话,即你说的静态引用,它会和你当前所引用的对象挂钩,不管系统中存在多少个版本,在程序里只认你所引用的这个版本;而如果是用代码来创建(CreateObject)的话,即你说的动态引用,它会创建当前系统中最后注册的对象,和版本无关。

动态引用有一个好处就是在你程序编译之后,如果你引用的对象有升级或改变,只需要发布新的对象,而不需要重新编译你的应用程序;而静态引用则不行,引用的对象一旦发生变化,你需要重新编译你的应用程序。
za096z 2011-05-23
  • 打赏
  • 举报
回复
嗷嗷叫的老马 2011-05-23
  • 打赏
  • 举报
回复
你的对象是否要使用事件?(Dim Withevents XXXX as XXXXXXX)

如果不需要,则可以使用后期绑定的方式.

具体:

将你现在的声明后的确定的前期类型,改为Object,如:

Dim objWeb As New FrontPage.Application
改为:
Dim objWeb As Object

然后在初始化的过程里,使用如下语法动态创建对象:

Set objWeb=createobject("FrontPage.Application")

使用的代码不需要做改动.

这样做,可以不管用户机器装的什么版本的软件,也可以创建一个对象

但是,需要确保你所使用的功能是最低版本的功能,不然高版本的功能在低版本上是没有的,会出错!

另外还有一个问题,就是这种后期绑定的方式会降低性能.
sxlhl365 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ybh37 的回复:]
这个,貌似代码可以控制。

先辨别版本,然后用代码运行时注册即可。
[/Quote]

怎样在程序执行时动态的引用frontpage对象库版本,又如何注册呢?

(有一点要说明:程序中有frontpage对象变量的定义,如:m objWeb As New FrontPage.Application)
无·法 2011-05-23
  • 打赏
  • 举报
回复
dreamweaver有库吗,不提供com接口的吧。 你引用的frontpage库实际就是个具体的文件。可以看看是什么位置,两者有什么区别,一般都可以得到文件版本信息的。
咸清 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 sxlhl365 的回复:]
我在软件中要用到frontpage的库,但如果系统装的frontpage版本不一样,就要引用不同的frontpage对象库,即:如果装的是frontpage2000,引用的是Microsoft Office Frontpage 4.0 web object;如果装的是frontpage2003,引用的是Microsoft Office Frontpage 6.0 web object,这样我就要为……
[/Quote]
这个,貌似代码可以控制。

先辨别frontpage对象库版本,然后用代码运行时注册即可。
sxlhl365 2011-05-23
  • 打赏
  • 举报
回复
引用dreamweaver对象不行的,客户机只有frontpage的
sxlhl365 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 a834752906 的回复:]
用dreamweaver吧
[/Quote]
使用dreamweaver对象结构和frontpage的网页对象结构模型会一样吗,如果不一样,对于程序的修改工程太大了
a834752906 2011-05-21
  • 打赏
  • 举报
回复
用dreamweaver吧

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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