Модераторы: Snowy, Alexeis, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как при открытии формы воспроизвести миди, Как при открытии формы воспроизвести мид 
V
    Опции темы
~FoX~
Дата 14.3.2009, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 2
Всего: 68



alexamur, Читаем, переводим, офигиваем от собственной невнимательности...

Цитата(alexamur @  13.3.2009,  18:26 Найти цитируемый пост)
[Error] Unit1.pas(31): Undeclared identifier: 'FormClose'

Лезим в инспектор объектов, смотрим события у формы.....Дважды тыкаем на onClose, и в появившемся коде пишем все что нужно...

Цитата(alexamur @  13.3.2009,  18:26 Найти цитируемый пост)
[Error] Unit1.pas(31): ';' expected but ')' found

Проверяем количество открывающихся скобок и закрывающихся )))
 smile 

Это сообщение отредактировал(а) ~FoX~ - 14.3.2009, 22:04


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
alexamur
Дата 15.3.2009, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



Цитата(~FoX~ @  14.3.2009,  21:59 Найти цитируемый пост)
alexamur, Читаем, переводим, офигиваем от собственной невнимательности...

эт-т точно...наивно полагал, что забив все врукопашную будет работать как надо, ан нет, не декларируется таким образом событие в коде. Сейчас все работает, компилятор не ругается, но после закрытия формы миди.мид не удаляется smile 
PM MAIL   Вверх
MetalFan
Дата 15.3.2009, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 5
Всего: 128



Цитата(alexamur @  15.3.2009,  16:14 Найти цитируемый пост)
но после закрытия формы миди.мид не удаляется smile  

а ты его удаляешь? или думаешь, что само должно? ))


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
alexamur
Дата 16.3.2009, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



Цитата(MetalFan @  15.3.2009,  17:49 Найти цитируемый пост)
а ты его удаляешь? или думаешь, что само должно? )) 

..ну вот так прописал...
Код

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  MCISendString(PChar('STOP' + 'midi.mid'), nil, 0, 0);
  DeleteFile('midi.mid');
end;


мидюшка без абсолютного пути (чтобы нельзя было запустить с CD или заблокированных флопов, флэшек), создается рядом с ексэшником...
PM MAIL   Вверх
MetalFan
Дата 16.3.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 5
Всего: 128



alexamur, лучше пути пропиши, а то может достаточно непредсказуемо себя вести)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
alexamur
Дата 17.3.2009, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



Цитата(MetalFan @  16.3.2009,  12:44 Найти цитируемый пост)
alexamur, лучше пути пропиши, а то может достаточно непредсказуемо себя вести) 

А как можно указать путь извлечения, скажем в системный раздел, ведь система может быть не только на С?  Если  %system root% - то вот так не получается
PM MAIL   Вверх
~FoX~
Дата 17.3.2009, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 2
Всего: 68



alexamur, Лучше все таки рядом с самой прогой хранить
Код

ExtractFilePath(Application.ExeName) + 'mymid.mid';



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
MetalFan
Дата 17.3.2009, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 5
Всего: 128



Цитата(~FoX~ @  17.3.2009,  18:12 Найти цитируемый пост)
Лучше все таки рядом с самой прогой хранить

не всегда... имхо


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
bems
Дата 19.3.2009, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 1
Всего: 88



Цитата(MetalFan @  9.3.2009,  18:19 Найти цитируемый пост)
а худо от такого не будет? играем асинхронно, и сразу убиваем ресурс.... 
Маленький оффтопик: 
когда-то я делал такой фокус - грузил длл с ресурсами, получал указатель на ресурс, давал той странице разрешение на копирование при записи и менял ресурс в памяти. Потом освобождал ресурс, но не выгружал длл
После этого чужой код (который загружал этот ресурс по имени в рамках моего процесса) при загрузке ресурса получал мою измененную область. Изменения оставались до ваыгрузки длл. Это я не к тому, что так нужно делать, а к тому чтобы прояснить что присходит. С переходом на виртуальные адресные пространства (на вин95) загрузка ресурса, это всего лишь получение указателя на ресурс, который уже давно спроецирован на память вместе с модулем, где он лежит. А освобождение ресурса просто ничего не делает, и оставлено для совместимости API



--------------------
Обижено школьников: 8
PM MAIL   Вверх
MetalFan
Дата 19.3.2009, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 5
Всего: 128



bems, ну если это действительно так...
да, ты прав:
Цитата(MSDN)
The pointer returned by LockResource is valid until the module containing the resource is unloaded. It is not necessary to unlock resources because the system automatically deletes them when the process that created them terminates.
...
The FreeResource function is obsolete and is only supported for backward compatibility with 16-bit Microsoft Windows. For 32-bit Windows applications, it is not necessary to free the resources loaded using LoadResource function. For more information, see INFO: FreeResource Not Necessary to Free Resources in Win32 .


Это сообщение отредактировал(а) MetalFan - 19.3.2009, 19:31


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
alexamur
Дата 24.3.2009, 03:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



По большому счету все работает так, как мне нужно, за исключением того, что не добился удаления миди-файла после закрытия окна. Поэтому оставил все как есть. Всем большой респект! Тему можно закрывать.
PM MAIL   Вверх
AntonN
Дата 25.3.2009, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 7
Всего: 18



вот тут есть игрушка "Battle Scroller" http://desksoft.ru/index.php?files&id=3&owner=3
там миди играется из TmemoryStream, сам файл звука хранится на диске сжатым, распаковывается в память ииграется без пересохранений. Думаю не будет проблем перегнать TResourceStream в Tmemorystream, к тому же еще можно добавить сжатие (zlib) и уменьшить факт воровства файла через редакторы ресурсов.

PS В юните MidiFile нужно удалить из uses inifiles, и все что с ним связано, забыл подчистить отладочный вывод, он пытается сохранить ini в C:\


--------------------
user posted image
PM MAIL WWW   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0665 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.