IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Плеер, Одна проблемка.
сообщение
Сообщение #1


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Вожусь с плеером.Ктонибудь не подскажет одну вещь: допустим я использую свой плеер по умолчанию (
  if not ('' = System.ParamStr(1)) then
with MediaPlayer1 do
begin
try
Filename := System.ParamStr(1);
{Ну и так далее...}
) Так вот когда я не закрывая первого экземпляра плеера открываю другой муз. файл, то открывается второй экземпляр плеера и там играет вторая мелодия. А я хочу чтобы 2-я мелодия играла в первом экземпляре.

Сообщение отредактировано: Артемий2 -


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Нет,нужно именно через Post или SendMessage


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Цитата(Артемий @ 24.08.2007 22:14) *
Нет,нужно именно через Post или SendMessage
Дело в том, что в случае с именами файлов будет проблема с выделением памяти. Послать сообщение элементарно. Но сообщение может вместить лишь 2 DWORD'а. А строка обычно длинная, если это полный путь к имени файла. Выделяя память в одном процессе ты не сможешь передать этот указатель в другой. В этом случае нужно организовывать передачу информации через общую память (filemap), интерфейс-петлю (127.0.0.1) или программные каналы (pipes).

В случае с программными каналами тебе даже не придется искать, запущен ли твой плеер уже или нет.
При старте программы, она пытается открыть pipe, если получилось, значит один экземпляр плеера уже запущен, потому просто пишем туда имя файла. Если открыть не получилось - мы первые, потому создаем канал и слушаем его.

Сообщение отредактировано: hardcase -


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Артемий2   Плеер   2.12.2006 21:26
hiv   Алгоритм такой: 1) Проверяешь при старте программы…   5.12.2006 19:56
Артемий2   Примерно что-то вроде этого думал, но не знал как …   5.12.2006 22:25
Артемий   Извиняюсь за тормоз! А как именно приложению …   22.08.2007 20:26
hiv   В смысле в PostMessage не разбираюсь.. Вот так п…   22.08.2007 21:10
Bokul   Как я понимаю на этапе использования PostMessage, …   22.08.2007 21:10
Артемий   А как привести строку к dword?   22.08.2007 21:17
Bokul   dword(PChar). Хотя правильнее будет WPARAM(PChar) …   22.08.2007 21:19
Артемий   Пасибо ребят! (если будут вопросы - отпишусь :…   22.08.2007 21:24
volvo   Гораздо надежнее было бы использовать CreateMutex…   22.08.2007 23:00
Bokul   А если вернуться к первоначальной, как повысить н…   22.08.2007 23:21
volvo   Ага, сейчас прямо... Все дела забросим и будем фай…   22.08.2007 23:41
Артемий   Блин, при компиляции программы FindWindow сразу на…   23.08.2007 1:57
volvo   Ну, во-первых, ты где прописал Caption формы? В Ob…   23.08.2007 4:10
Артемий   Ага,я понял.Спасибо за помощь!   23.08.2007 12:43
Артемий   Это опять я. :!low: :!low: Сообщение от вт…   24.08.2007 22:49
volvo   procedure TForm1.AppMessage(var Msg: TMsg; var Han…   24.08.2007 23:08
Артемий   Теперь ошибка происходит в этой строке: s := StrPa…   24.08.2007 23:13
volvo   :blink: У меня не происходит... Покажи, как ты пер…   24.08.2007 23:15
Артемий   В смысле как передаю? System.ParamStr(1)? Добавле…   24.08.2007 23:21
volvo   Правильнее будет - так: var d: PChar; procedur…   24.08.2007 23:38
Артемий   Кажется я понял проблему... Смотри,так работает: d…   25.08.2007 0:51
hardcase   Хм.... Может глупость... А что если открыть сокет …   25.08.2007 1:08
Артемий   Нет,нужно именно через Post или SendMessage   25.08.2007 1:14
hardcase   Нет,нужно именно через Post или SendMessage Дело …   25.08.2007 1:18
Артемий   Ну а привести тогда код любого из этих путей можеш…   25.08.2007 1:24
hardcase   Ну а привести тогда код любого из этих путей може…   25.08.2007 4:14
volvo   Получите, распишитесь :) const WM_ADD_TO_PLAY…   25.08.2007 2:37
Артемий   2volvo Ты крууут! :) :give_rose: :good: :go…   25.08.2007 15:26


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.11.2025 22:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name