![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Sayrus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 11.9.2004 Репутация: нет Всего: нет |
Здрасти: подскажите плииз.......................................................................
Вобщем ошибка не при открытии медиа файла, а только если не один файл не выбран, выскакивает вот такая ерунда- Project Project1.exe raised exception class EMCIDeviceError with message 'Не удаетса отределитьтип устройства по указанному расширению имени файла.'. Process Stopped. Use step or Run to continue. Как устранть ошибку? Или отключить выскакивание этого сообщения.............. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
отключить выскакивание очень просто -- поставь ручную обработку исключений и отключи останов на дельфийских исключениях
а для устранения ошибки нужно код показать ;) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Sayrus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 11.9.2004 Репутация: нет Всего: нет |
А по проще если можно про отключение и установку ручной обработки. Код OpenDialoga вот, вобщем програмка простенький медиа плеер........ //--------------------------------------------------------------------------- void __fastcall TForm1::N2Click(TObject *Sender) { if(OpenDialog1->Execute()) MediaPlayer1->FileName = OpenDialog1->FileName; MediaPlayer1->Open(); StatusBar1->Panels->Items[0]->Text = OpenDialog1->FileName; TrackBar1->Max = MediaPlayer1->Length; } //--------------------------------------------------------------------------- Заранее спасибо !.................. |
|||
|
||||
| Атос |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.9.2004 Где: Екатеринбург Репутация: нет Всего: нет |
1) Почему бы не заключить в скобки код открытия файла и/или проверять на наличие выбранного файла? 2) Как я понимаю _hunter, он имел в виду пару try-catch итак, вариант:
|
||||
|
|||||
| Sayrus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 11.9.2004 Репутация: нет Всего: нет |
Попробовал я, На первый вариант ни какой реакции выдаёт туже ошибку......... А вот второй при компиляции выдаёт: [C++Error]Unit1.cpp(56): E2040 Declaration Terminated incorrectly Чево я не так сделал?..... |
|||
|
||||
| srd |
|
||||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Ты бы сказал, что у тебя в строке 56
Попробуй
или
Насколько я помню Билдер, там VCL классы только в динамической памяти могут размещаться. А тут копирование объекта-исключения делалось -------------------- Не смей читать мою подпись!!! |
||||
|
|||||
| Sayrus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 11.9.2004 Репутация: нет Всего: нет |
Попробовал всё тоже самое не хочет компилить и всё.... Да Билдер пятый может в нём както подругому?.............. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Так какой код у тебя в 56-ой строке?
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Попробуй без try-catch
т.е. работать с файлом только если пользователь хоть что-то выбрал |
|||
|
||||
| Sayrus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 11.9.2004 Репутация: нет Всего: нет |
Вот спасибо навел на правильную мысль, всего одной строки не хватало.............. void __fastcall TForm1::N2Click(TObject *Sender) { if(OpenDialog1->Execute()) { MediaPlayer1->FileName = OpenDialog1->FileName; MediaPlayer1->DeviceType = dtAutoSelect;----------вот этого не хватало !!!!! MediaPlayer1->Open(); StatusBar1->Panels->Items[0]->Text = OpenDialog1->FileName; TrackBar1->Max = MediaPlayer1->Length; } } Теперь всё работает |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |