StatusBar 在工程中的丢失

Luckyfeeling 2001-07-02 04:10:25
我原来有一个工程
在里面如下定义
Private gMessageBoard As New statusbar
原来使用很正常
当我将操作系统重新安装后
编译就通不过了,提示 使用类型没有定义
但我在部件里面添加了 microsoft common controls 6.0
而且,我如果开启一个新的工程,就添加如上定义,部件里面添加 microsoft common controls 6.0,有时候能看到 statusbar ,编译能通过
但大部分时候都又不行?
请问怎么办?
我如何使用 statusbar ,需要添加哪些部件或引用?

...全文
152 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Luckyfeeling 2001-07-03
  • 打赏
  • 举报
回复
我找到答案了

错误原因是:
定义它时,不应该用 new ,用new 不但看不到 statusbar,编译也通不过!
不过,很奇怪,这个工程原来能通过的,现在却通不过!
看来 控件"对象一般不应用"New"关键字来实例化,不要懒省事!
kingofcats 2001-07-02
  • 打赏
  • 举报
回复
我的看法是VB不稳定,因为我在公司里曾多次试过将程序(源代码)在不同的机子上运行是没有问题的(即使是WIN2000,WIN98,OFFICE200,OFFICE97)
不知道你是不是用VB6的中文版,我认为用VB6的英文版会好一点,你可以试一下.
是不是因为你的WIN2000是升级上去而不是重新安装呢?
huanggx 2001-07-02
  • 打赏
  • 举报
回复
工程中引用的部件是记录在".vbp"文件中的,如下:
Reference=*\G{6B263850-900B-11D0-9484-00A0C91110ED}#1.0#0#C:\WINNT\System32\MSSTDFMT.DLL#Microsoft Data Formatting Object Library 6.0 (SP4)
Reference=*\G{3D5C6BF0-69A3-11D0-B393-00A0C9055D8E}#1.0#0#C:\Program Files\Common Files\designer\MSDERUN.DLL#Microsoft Data Environment Instance 1.0 (SP4)
如果另一台机器系统路径不同,就会导致找不到部件。
如果从98升级到2000,系统路径是 windows,不是winnt
如果直接安装2000,默认的系统路径是winnt
我没遇到过这些问题,所以只是估计,不敢说就一定是这些原因。
playyuer说的有些道理。StatusBar这个孔件有好几个版本。每个不同的版本有不同的GUID,如果你的系统中安装的(VB)版本和你引用的控件版本不一致,就会找不到这个控件,虽然你的工具条上可以看到这个控件(因为有几个版本)
所以,一定要确认你引用的版本究竟是哪一个?
Luckyfeeling 2001-07-02
  • 打赏
  • 举报
回复
playyuer(女㊣爱)
大侠分析的应当很有道理,
但 按照你的方法还是不行,定义时就看不到给类型。
看来,可能是我装的 vb6.0 有问题。
我需要 试试 huanggx(大侠)的方法! 
Luckyfeeling 2001-07-02
  • 打赏
  • 举报
回复
感谢两位大侠的帮助!
我说的有时候看不到,是指
当我 添加部件 microsoft common controls 6.0 后,
接着定义 时,看不到 statusbar 类型
但有时候看的到
如果进入我原来的工程,还是看 不到 statusbar 类型,编译也通不过!
另外我用的是 vb6.0,用了将近一年,一直都很正常。
只是最近重新安装了 2000 ,原来的工程就出现了这个问题。
而且,在我印象中,vb 的愿代码在另外一台同样的电脑上编译或重装系统后
都要出现某些类型丢失的情况!
playyuer 2001-07-02
  • 打赏
  • 举报
回复
'你一定是同时在"部件"中"勾选"了 Microsft Windows Common Controls 6.0 (SP4) 和 Microsft Windows Common Controls 5.0 (SP2)
'保留一个即可

'Microsft Windows Common Controls 6.0 (SP4):
Private gMessageBoard As MSComctlLib.StatusBar

'Microsft Windows Common Controls 5.0 (SP2):
Private gMessageBoard As ComctlLib.StatusBar

'另外"控件"对象一般不应用"New"关键字来实例化!
huanggx 2001-07-02
  • 打赏
  • 举报
回复
你去微软网站下载最新的VB SP5
huanggx 2001-07-02
  • 打赏
  • 举报
回复
部件里面添加 microsoft common controls 6.0,

这个就足够了。
这个部件有好几个版本,你用的是那个版本?(在添加部件的时候,microsoft common controls 6.0的后面还有一个括号,如(sp4),你的是什么?)

你说的有时候看不见是什么意思?在部件的列表中看不见microsoft common controls 6.0?
如果是这样,就是你的系统不稳定。你需要重新安装系统或者vb

7,763

社区成员

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

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