我正在使用一个函数来返回一个字符串,其中包含我想要播放的* .wav文件的路径。
这是用于确定当用户点击某些内容时播放哪种声音的函数...
Function GetSoundPath() As String
Dim theme As String, appPath As String, soundPath As String
theme = GetUserTheme()
appPath = LCase(Application.StartupPath & "\themes\" & theme & "\sounds\click.wav")
Return soundPath
End Function
上述函数获取需要播放的* .wav文件的正确路径。问题是当我使用我的函数“My.Computer.Audio.Play(GetSoundPath)”时,我得到一个错误:
创建表单时出错。有关详细信息,请参阅Exception.InnerException。错误是:表单在构造期间从默认实例引用自身,这导致无限递归。在Form的构造函数中,使用'Me。'来表示表单。
我检查了application.vb文件,没有找到我的表单,因为它的名字是“wisealarm”。该表格应该被称为“我”。更奇怪的是,当我在命令中手动键入路径时,它可以正常工作.. e.x. My.Computer.Audio.Play( “C:\用户\ sound.wav”)
非常感谢任何见解。如果需要任何进一步的代码或细节,请告诉我。感谢。
答案 0 :(得分:0)
表单初始化中存在导致错误的内容,例如类的初始化。如果在此函数中发生错误,您可以在Dim(或等效)语句之外移动调用(或使用“New”初始化)以进行更正常的调试。这可能在form_load函数中。
此外,您将返回未定义的变量SoundPath - 也许您应该在赋值语句中将SoundPath替换为SoundPath。