Здравствуйте, в программировании я новичок и с хэндлами-указателями пока не очень-то лихо обращаюсь... В общем нужна помощь опытных программеров
Постановка задачи: Создать dll с запакованными в него звуками в формате .wav, из которого можно было их воспроизводить средствами функций самой же dll.
Задача казалось бы простая, да не совсем.
Сразу скажу, что мне не хотелось бы использовать таких монстров как, mediaPlayer. Хотелось бы обойтись апишным PlaySound. Полазил по форумам, порыскал - получил результат, но для моей специфической ситуации он не подошел. Везде примеры максимально упрощенные, где воспроизводится из исполняемого файла, а не подключаемой библиотеки функций. Думаю, код расскажет больше:
Код:
library Missille;
uses
mmsystem;
{$r sounds.res}
procedure PlaySND;
begin
PlaySound('SND1', 0, SND_RESOURCE or SND_ASYNC);
end;
exports
PlaySND;
begin
end.
После долгих мучений выяснил, что в этом случае поиск ресурса с именем 'SND1' происходит в исполняемом файле, а не в dll...Мне кажется, что нужно мыслить в направлении изменения второго параметра, чтобы получить результат(hmod : hmodule). Хэндл на исполняемый файл (должен быть равным 0, если используется флаг SND_RESOURCE). Но ведь мне нужен не хэндл исполняемого файла, а длл... И SND_RESOURCE у меня тоже используется... Просто не знаю как быть... Пробовал передавать функции хэндл библиотеки, получаемой из LoadLibrary. В этом случае стало вылетать... Кто-нибудь может мне что-нибудь подсказать?