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

[TC] Delphi & Direct3DSound

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

Есть ли в листе Делфисты, работающие напрямую с Direct3DSound?

Ну или, может быть, кто-нибудь может подсказать по какой причине
может возникнуть ниже описанная ситуация.
Компилятор Delphi "ругается" на тип DSBUFFERDESC, хотя он точно
описан в одной из подключаемых библиотек.
"Ругается" словами "Undeclared identifier".

Может быть есть какая-то хитрость, которую я не учел?

Ответить   Vladimir Dovydenkov Mon, 02 Aug 2004 07:27:47 +0400 (#289952)

 

Ответы:

Здравствуйте, Владимир!
Исходное сообщение > Компилятор Delphi "ругается" на тип DSBUFFERDESC, хотя он точно

Если иных ошибок нет (надо бы код глянуть), то вполне возможно, что в файле
описания типов указанный тип попадает в условный блок и не декларируется, а
декларируется, например, DSBUFFERDESC1 (который используется для
совместимости с версиями 6 и ниже).
С уважением, Анатолий.

Ответить   "i_chay" Sun, 2 Jan 2005 10:53:15 +0400 (#289969)

 

Здравствуйте, Анатолий.

-----------------------*- Original Message -*i> > Компилятор Delphi "ругается" на тип DSBUFFERDESC, хотя он точно

В библиотеке, действительно, этот тип описывается в зависимости от
директив компилятору. Но, во-первых, там же стоит директива {$elseif},
то есть, вариант с отсутствующей директивой обрабатывается; а, во-вторых,
я определял и конкретную директиву - не помогло.

Боюсь, что проблема относится к самым неприятным: какая-то
специфическая мелочь, которую на раз может отловить опытный делфист и
которую я могу проискать всю оставшуюся жизнь :-)

Ответить   Vladimir Dovydenkov Mon, 02 Aug 2004 15:24:06 +0400 (#290072)

 

Здравствуйте, Владимир!
Если вы умеете оперировать с записями, то проблем быть не должно, так как
DSBUFFERDESC не есть константа, а есть назначаемое вами имя типа.
В принципе, вы можете назначить свое имя - лишь бы структура полей была
такой же.
Попробуйте ввести перед самым объявлением переменной этого типа сам тип как
простой (а не запись). Например, DWORD или что там есть подобное.
Если это пройдет (то есть дело дойдет до новой ошибки), то проблема в
подключаемых модулях. Если нет, то в настройках среды.
Кроме того, уверены ли вы, что ошибка возникает при объявлении переменной, а
не при обращении к одному из полей в записи DSBUFFERDESC?
С уважением, Анатолий.

Ответить   "i_chay" Sun, 2 Jan 2005 20:25:08 +0400 (#290136)

 

Здравствуйте, Анатолий.

-----------------------*- Original Message -*i> Попробуйте ввести перед самым объявлением переменной этого типа сам тип как

Спасибо, с этим всё решилось.
Просмотрел одну буковку.

Ответить   Vladimir Dovydenkov Tue, 03 Aug 2004 04:09:48 +0400 (#290263)