| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 953 人关注过本帖
标题:请教大家一个问题
只看楼主 加入收藏
testuserll
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-6
收藏
 问题点数:0 回复次数:7 
请教大家一个问题

我刚学VB 还不是很熟悉
今天我在网上看到一个说用自己写的VB程序控制IE浏览器 很感兴趣 自己动手就试了一下
但是中间出了一些问题
我把主要原因说一下

我本意是想在打开一个网页的时候 然后判断里边有没有我要的字符串 然后再做判断
其中加载两个控件
一个是Microsoft HTML Object Library对应的是mshtml.dll
一个是Microsoft Internet Controls 对应的是shdocvw.dll
然后放一个WebBrowser的框架 然后问题就出现了
我只要保存 再打开这个工程
我所加载的控件就变成了
Microsoft HTML Object Library--->mshtml.tlb
而另外一个控件对应的还是shdocvw.dll
我不知道是怎么回事 我告诉我同学之后他自己测试一下 也是这样的问题

因为我其中一段代码是(中间省略部分):

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)

Dim doc As IHTMLDocument2
Set doc = WebBrowser1.Document


If InStr(doc.body.innerText, "怪物死了另寻怪物") > 0 Then
WebBrowser1.Navigate "http://www.3jzw.cn/pet.php?index=petpknpc&mapid=19"
End If

End Sub
类似这样的 如果不保存 运行的时候没问题 不报错
只要保存再打开 加载的空间自动变成Microsoft HTML Object Library对应的是mshtml.tlb
然后我的If InStr(doc.body.innerText, "怪物死了另寻怪物") > 0 Then 这句就报错
大家帮我看看是不是在VB里边加载了Microsoft HTML Object Library---mshtml.dll这个后保存是不是会变成
Microsoft HTML Object Library--->mshtml.tlb 帮我想想办法

注:我加载控件是在general面板上右键 选部件 然后选中这两个加载的

搜索更多相关主题的帖子: Microsoft 浏览器 Object 加载 dll 
2007-07-21 23:29
testuserll
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-6
收藏
得分:0 
没人回么?
我只想知道为什么控件自己会变
2007-07-22 13:24
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
我还没遇到过这样的情况。。。。。。

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-07-22 21:55
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
可能是因为在此过程中有相同类型的控件被注册了 导致原先控件被替代。
比如我这里的shdocvw.dll经常被替换为mshtml
2007-07-22 22:13
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用testuserll在2007-7-22 13:24:06的发言:
没人回么?
我只想知道为什么控件自己会变

可能不是变,是你机器里没有这个控件,而自动用其他的控件来代替!
你把这个控件也注册上应该就不会再被代替了。。。。。。


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-07-22 23:47
testuserll
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-6
收藏
得分:0 
以下是引用红影在2007-7-22 23:47:20的发言:

可能不是变,是你机器里没有这个控件,而自动用其他的控件来代替!
你把这个控件也注册上应该就不会再被代替了。。。。。。

但是我使用的是VB6自带的控件啊
应该不会出问题吧
再说Microsoft HTML Object Library这个控件对应的mshtml.dll这个文件应该是系统的
不应该有没注册的情况
并且我不保存直接生成的exe就可以用 没错误
只要保存了就出问题

2007-07-23 00:50
testuserll
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-6
收藏
得分:0 
以下是引用multiple1902在2007-7-22 22:13:38的发言:
可能是因为在此过程中有相同类型的控件被注册了 导致原先控件被替代。
比如我这里的shdocvw.dll经常被替换为mshtml

我觉得有这种可能 因为我的刚开始加载的控件名和对应的文件是
Microsoft HTML Object Library--->mshtml.dll
然后保存 再打开 加载的控件名和对应文件是
Microsoft HTML Object Library--->mshtml.tlb

可以看到控件名是一样的
但是这样的情况怎么解决呢?

2007-07-23 00:52
testuserll
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-6
收藏
得分:0 
没人知道?
2007-07-28 18:16
快速回复:请教大家一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020812 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved