Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.05.2011, 18:41
Jul555 Jul555 вне форума
Прохожий
 
Регистрация: 20.05.2011
Сообщения: 8
Репутация: 10
Вопрос БД и Mediaplayer. Конфликт?

Ситуация следующая:
У меня в Delphi создан проект с базой данных (отображается в DBGrid). К этой таблице подсоединены картинки (к каждой записи в таблице своя картинка и при переходе с одной записи на другую картинки меняются). В этом же проекте есть на отдельной форме музыкальный проигрыватель. В проигрывателе есть плейлист (на TreeView). А проблема заключается в том, что если сначала открыть проигрыватель и добавить песни в плейлист, а после попытаться пролистать записи в таблице, то вылазит ошибка : "Cannot open file "путь к картинке". Системе не удается найти указанный путь. " Если же не запускать проигрователь, БД функционирует нормально.
С чем это связано и как можно убрать такую проблему?
Я подумала, что это из-за того, что при добавлении аудиозаписей, в реестр (извините, если называю вещи не своими именами) добавляется путь к этим записям, и потом этот путь там же и остается. И при работе в БД, система ищет картинке по "запомнившемуся" ей пути. Может нужно очистить этот реестр (или что там), при закрытии формы с проигрывателем?
На закрытие формы у меня прописано MediaPlayer1.Close; Еще пробовала добавить такую запись:PlLstTreeView.Items.Clear. Получился бред.
А возвожна ли одновременная работа проигрывателя и БД?
Ответить с цитированием
  #2  
Старый 20.05.2011, 19:15
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Возможно.
Просто и картинки и песни надо всегда грузить по абсолютному пути.
Ответить с цитированием
  #3  
Старый 21.05.2011, 02:04
Jul555 Jul555 вне форума
Прохожий
 
Регистрация: 20.05.2011
Сообщения: 8
Репутация: 10
По умолчанию

Абсолютный путь это, к примеру, С:\program files\delphi\picture.jpg ?
Ответить с цитированием
  #4  
Старый 21.05.2011, 02:40
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ага, именно так.
Ответить с цитированием
  #5  
Старый 21.05.2011, 03:12
Jul555 Jul555 вне форума
Прохожий
 
Регистрация: 20.05.2011
Сообщения: 8
Репутация: 10
По умолчанию

Спасибо за информацию
Ответить с цитированием
  #6  
Старый 21.05.2011, 11:37
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

А нельзя картинки в блобе хранить?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 21.05.2011, 13:12
Jul555 Jul555 вне форума
Прохожий
 
Регистрация: 20.05.2011
Сообщения: 8
Репутация: 10
По умолчанию

Вы имеете в виду тип поля Blob Graphic? Не совсем поняла, как с ним обращаться. Нашла на форуме такое сообщение :

"бросаете на форму TButton и TOpenPictureDialog
настраиваете на клик по кнопке исполнение OpenPictureDialog получаете имя файла картинки.
Грузите в поле методом DBImage.Picture.LoadFromFile(...)
Все."

Можете объяснить момент с загрузкой методом DBImage.Picture.LoadFromFile(...)? Это на кнопку прописать надо? Просто, если на кнопку, картинка открывается, но в DB Image не сохраняется.

Последний раз редактировалось Jul555, 21.05.2011 в 15:42.
Ответить с цитированием
  #8  
Старый 21.05.2011, 16:48
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от Jul555
Вы имеете в виду тип поля Blob Graphic? Не совсем поняла, как с ним обращаться. Нашла на форуме такое сообщение :

"бросаете на форму TButton и TOpenPictureDialog
настраиваете на клик по кнопке исполнение OpenPictureDialog получаете имя файла картинки.
Грузите в поле методом DBImage.Picture.LoadFromFile(...)
Все."

Можете объяснить момент с загрузкой методом DBImage.Picture.LoadFromFile(...)? Это на кнопку прописать надо? Просто, если на кнопку, картинка открывается, но в DB Image не сохраняется.

Для того, чтобы сохранить нужно
прописать вот еще что:
DBImage.LoadPicture
и запостить...
MyTable.post
Ответить с цитированием
  #9  
Старый 21.05.2011, 21:22
Jul555 Jul555 вне форума
Прохожий
 
Регистрация: 20.05.2011
Сообщения: 8
Репутация: 10
По умолчанию

Прошу прощения, что переспрашиваю, но перед вами чайник. Если не трудно, напишите как полностью должна выглядить процедура
Ответить с цитированием
  #10  
Старый 22.05.2011, 13:05
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от Jul555
Можете объяснить момент с загрузкой методом DBImage.Picture.LoadFromFile(...)? Это на кнопку прописать надо? Просто, если на кнопку, картинка открывается, но в DB Image не сохраняется.

Если вы дошли до этого(то-есть в компоненте DBImage отражается картинка), то к этому напишите то, что я написал повыше.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:36.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter