Есть прога.
При запуске читается настройка из ини файла в частности опция включить звуковое сопровождение или нет.
Соответственно это же самое регулируется и входе работы самой проги простым чекбоксом.
Вот сама процедура:
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Private Sub Check2_Click()
If Dir(App.Path + "\1.mp3") <> "" Then
If Check2.value = 1 Then
Call mciExecute("play " + App.Path + "\1.mp3 from 100")
Else
Call mciExecute("close " + App.Path + "\1.mp3")
End If
End If
End Sub
Так вот. Все работает нормально. Звук включается, выключается, но вот при запуске проги (если в ини-файле звук отключен) ругается:
"MMSYSTEM@263. Это устройство не является зарегистрированным устройством MCI" (Это что-то с дровами что ли?). Ругнется при запуске, а потом нормально работает.
Если убрать строку
Call mciExecute("close " + App.Path + "\1.mp3")
то не ругается, но и звук, соответственно, не выключает.
То есть суть в том, что здесь я описал процедуру, которая управляет звуком в ходе программы, а не при Form_Load в Form_ load аналогичная процедура, но там этой строки вообще нет, а ему не нравится строка, которую он при запуске в принципе вообще не выполняет.
Не знаю доходчиво ли объяснил суть, но может кто сталкивался?