| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 882 人关注过本帖
标题:很少的几行代码,却令我如些头疼,在vb吧与吧主cbm666探讨了很长时间,就是弄不 ...
取消只看楼主 加入收藏
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
收藏
 问题点数:0 回复次数:4 
很少的几行代码,却令我如些头疼,在vb吧与吧主cbm666探讨了很长时间,就是弄不明白为

很少的几行代码,却令我如些头疼,在vb吧与吧主cbm666探讨了很长时间,就是弄不明白为什么?同样的几行代码,在不同的机器上为何执行效果不同呢?
------------------------
由于想学习资源文件的使用,从网上下载了cbm666的源码研究.
功能就是将一个wav文件存到资源文件中,然后单击按钮command1就播放这段wav音乐.

可是同样的代码,在我家中与单位,执起起来效果不同.
请看我的代码中的注释就明白了.
如果我表述不清,请看一下我发的源贴.
http://post.baidu.com/f?kz=250275345

代码如下:
'播放 WAVE 声音(只允许.wav)

Option Explicit
Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Const SND_ASYNC = &H1
Const SND_MEMORY = &H4
Dim bArr() As Byte '这句在这里声明可以,可是放在command的单击事件声明就是不可以,不知为什么


Private Sub Command1_Click()

'如果将barr数组定义在下面这个位置,则三台电脑都有出现vb异常关闭的现象,但不是每次都关闭,没找到原因.
'Dim bArr() As Byte '放在这里声明不可以(在单位的两台电脑上测试不发声,在家中试则是编译成exe文件后第一次单击command不出声,以后就出声,不编译在vb环境中测试没有问题,只是编译后才出现)

bArr = LoadResData(101, "CUSTOM")
DoEvents
sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
' MsgBox "等一下" '如果barr变量定义在command的单击事件中,加这一句,在单位的电脑上将会出声,
'Erase bArr '加上这一句,在单位的两台电脑上就不出声了,可是在家中的电脑上,却没有任何变化。
End Sub


其实问题的本质就是
Dim bArr() As Byte 这一句应该放在哪里合适,是放在通用区中声明呢?还是放在按钮的单击事件中声明呢?
我与cbm666争论的焦点也在这里.
因为我如果将
Dim bArr() As Byte 放在通用区,好象不出问题,如果放在按钮单击事件中,在不同机器上均有不同的反应.单位的电脑不论是VB环境中还是编译后根本不出声.家是的电脑编译后,第一次单击按钮时不出声.以后就出声了(注,不编译时,在vb环境中是没有问题的)

可是cbm666也试过多次,他说三台电脑都试了,没发现我说的问题.
真有点怪了.同样的代码,在我自已的两台电脑上执行效果也不一样,只好请大家帮忙了.

注,这个项目的代码全这里了,请大家帮我测试一下,看看出不出问题.
这个项目只有一个窗体,和一个资源文件,资源文件中加入一个wav文件就行.
就是这样简单,麻烦大家帮我测一下吧.看看问题究竟出在哪里?

搜索更多相关主题的帖子: 吧主 代码 头疼 探讨 时间 
2007-08-20 22:48
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
收藏
得分:0 
回复:(ggyy66)很少的几行代码,却令我如些头疼,在vb...
pm2b5T1Q.rar (431.77 KB) 很少的几行代码,却令我如些头疼,在vb吧与吧主cbm666探讨了很长时间,就是弄不明白为什么?同样的几


把我的项目发上来了,大家帮测一下,看看在您的电脑上出不出我说的问题.

2007-08-20 22:50
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
收藏
得分:0 
真是谢谢版主了,帮我测了半天,道理还是不明白.
您的测试与我的机器又有些差异.

2007-08-21 07:58
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
收藏
得分:0 
总之很感谢版主了,因为在VB吧与吧主cbm666老师探讨这个问题时,他说在他的三台机器上测试都没有任何问题,可是我也在三台机器上测试,都出现不同的问题.
我怀疑是我的机器都有问题,所以又在本论坛求助,经版主一试,我就放心了,看来我的机器应该没有问题.
因为版主的机器测试代码时也出现了类似问题.

2007-08-21 08:05
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
收藏
得分:0 
PS:资源文件可以使用WAV格式而不用使用自定义资源……(RC编译到RES,可以使用WAVE类型)VB自带的资源编辑器只有String,Bitmap,和光标icon好像……
-------------------
VB中的资源管理器如何加入专门的wav格式呀,而不用自定义资源。
另外, 用自定义资源有何不好吗?

2007-08-21 08:57
快速回复:很少的几行代码,却令我如些头疼,在vb吧与吧主cbm666探讨了很长时间,就 ...
数据加载中...
 
   



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

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