Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Запуск файла


Автор: DJS 23.4.2003, 04:38
exclamation.gif
Доброго Вам времени суток!
Если не затруднит, помогите разобраться в следующей проблемме:
Необходимо запустить файл.
Речь идет о какраоке файлах (.*kar).

Беда вот в чем:
1. Galakar (запускающее приложение) не является зарегистрированным в системной базе данных, в отличии от Word, Excel, Outlook и др., соответственно он (Galakar) не появляется в окне -Insert Object- (вставка объекта), при размещении OLE-объекта на форме.
2. Использовать средство ActiveX Multimedia MCI для воспроизведения .*kar -файла тоже не получилось, несмотря на предполагаемое Visual Basic-ом устройство со значением DevName = Other. Устройство Other описано так: "...устройство мультимедиа, определяемое пользователем, имеющее синтаксис: MMControl1.DeviceType=DavName".
Если я задам DevName = Other, какой именно "Other" будет воспринят компилятором? По идее, должны быть настройки, описывающие выбранный мною "Other"... и где их искать, и есть ли они вообще, и как эти настройки настраивать- не понятно.

Что было предпринято (по пунктам):
1. Создавал в форме OLE-объект, а в появляющемся окне -Insert Object- (вставка объекта) нажимал "Cancel". Далее открывал папку с .*kar -файлами, копировал нужный мне (через Ctl+C) и вставлял в OLE-объект (через Ctl+V).
При запуске проекта- двойным кликом по OLE активируется приложение Galakar и сразу же запускает скопированный в OLE .*kar -файл. ПОБЕДА!!! Да не тут-то было... Таким же способом в форму добавляю OLE2, а потом запускаю проект. Щелкаю OLE1- все заработало, щелкаю OLE2- Galakar запускает другой .*kar -файл, музыка играет (синтезируется), но текст не идет- выдается сообщение об ошибке, что Galakar не может прочитать файл. Как такое может быть? Как это не может прочитать, если музыка именно этого(!) файла воспроизводится? Мистика... Думаю, что я просто ничего не знаю в Visual Basic-е, поскольку должен все-таки быть способ запустить файлы так, как если-бы я запускал эти файлы из папки, где они расположены..
2. Теперь про Multimedia MCI.
Файлы типа .*kar имеют MIDI-происхождение- рассуждаю я-, в том смысле, что MIDI- это понятно что, а .*kar-это MIDI1 (здесь под "1" подразумевается, что это обычный MIDI, в который зашит текстовый блок), так почему бы не рискнуть попробовать MIDI-секвенсер? DevName=Sequencer. Затаив очень слабую надежду на чудо, прописываю: MMControl1.DeviceType=Sequencer. Через MMControl1.Command посылаю команду "Play" , но ничего не происходит, более того, Sequencer не позволяет открывать .*kar- это меня окончательно добило.

Предыстория: подобная затея была реализована в Excel с помощью гиперссылок- все работает нормально (а как иначе? Excel ведь не я писал...), причем естественно существует возможность прокрутки, к которой и мне нужно обязательно прийти.

P.S. Помогите начинающему!
Использую Visual Basic 6.0 Professional.
Надеюсь, достаточно подробно описал свою проблему.
Ваши ответы с удовольствием приму по e-mail: Kosy-man@mtu-net.ru




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)