Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Delphi + DirectX

Рад приветствовать, All!

Если кому-то доводилось писать для подобной связки (сабж), не могли
бы вы поделится опытом настройки DirectSound, то ли у меня криво
"портирован" юнит (JEDI DX8), то ли очень кривы руки, но при инициализации
вторичного буфера - вылетает ошибка "One or more of the parameters
passed to the function are incorrect." независимо от того какие
параметры я передаю, даже просто DSBCAPS_STATIC. То же самое
происходит и при переносе примера с SDK. Кстати, вот сам код:

var
hret:HRESULT;
DSound : IDIRECTSOUND;
DSBuf : IDIRECTSOUNDBUFFER;//первичный буфер - с ним всё ок
DSB2: IDIRECTSOUNDBUFFER;//вторичный
DSBInfo : TDSBufferDesc;

...
fillchar(DSBInfo, sizeof(DSBInfo),0);
with DSBInfo do
begin
dwSize := sizeof(DSBInfo);
dwBufferBytes := 1000;{0}
dwFlags :=DSBCAPS_CTRLDEFAULT;
end;
hret:=DSound.CreateSoundBuffer(DSBInfo,DSB2,nil);//вот тут еррор!

Заранее спасибо!

Alles Gutes!

CU @ http://smuta.boom.ru
...In Code We trust...
При желании, mailto:deniskravtso***@m*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Tue, 21 Oct 2003 18:01:21 +0400 (#10299)

 

Ответы:

Здравствуйте !

Я не совсем уверен, т.к. пишу в основном на VC++ 6.0.
но мне кажется, что надо передавать вторым параметром в функцию
указатель на указатеть, т.е. так :
hret:=DSound.CreateSoundBuffer(DSBInfo,@DSB2,nil);

кажется, @ в паскале - операция взятия адреса.
просто именно так прототип этой функции описан в MSDN.
Впрочем, это, кажется, обычный способ получения указателей
на интерфейсы.

С уважением, Виктор.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Tue, 21 Oct 2003 21:13:41 +0400 (#10336)

 

Рад приветствовать, Victor!

Довелось мне Tuesday, October 21, 2003 читать, следующее:

Ругается компилер на несоответствие переменных (и в объявлении
функции именно обычный IDirectSoundBuffer), к тому же PrimaryBuffer
нормально создается именно с помощью ...DSBInfo,DSB2,...

Да точно она.

Да, хорошо хоть SDK у меня есть, а то дельфа о DX вообще не
подозревает, вот и приходится переводить примеры на пас. Я тоже
в последнее время отдавал бОльшее предпочтение VC++, но чёрт
дернул переводить старый ДОС-овский код, а он был именно на пасе.

Дело в том, что портирования цпп-хидеров много разных и в основном
этим занимаются энтузиасты (не терпит MS конкурентов).

Alles Gutes!

CU @ http://smuta.boom.ru
...In Code We trust...
При желании, mailto:deniskravtso***@m*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Wed, 22 Oct 2003 21:33:13 +0400 (#11255)