Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

работа с mmSystem [D5]


Satrap ©   (2001-12-07 14:56:00) 

Уважаемые мастера, помогите, очень нужно. Мне необходимо ипспользовать функцию WaveInOpen с флагом CALLBACK_FUNCTION. При этом, необходимо указать адрес CALLBACK-функции. Как это сделать, ума не приложу. Попробовал пользоваться оператором @@, но он возвращает pointer, а нужен Cardinal. Помогоите, то есь Help.


Satrap   (2001-12-17 14:49:00) [1]

Так и есть, спасибо.


troits   (2001-12-13 11:00:00) [2]

Попробуй
procedure YourWaveInProc(hwi: HWAVEIN; uMsg: UINT; dwInstance, dwParam1, dwParam2:DWORD); stdcall; - забыл указать stdcall

Наверняка дело в этом.
Я просто не работал никогда с этим API. Не проверил...


Satrap   (2001-12-13 10:13:00) [3]

большое спасибо за помошь, только вот входя в эту процедуру, я получаю ошибку, появляется окно с содержимым ячеек процессора. Я пытался написать
WaveInProc как метод своей формы и просто как паскалевскую процедуру, результат один. Может знаешь в чем дело.


troits   (2001-12-07 20:20:00) [4]

procedure YourWaveInProc(hwi: HWAVEIN; uMsg: UINT; dwInstance, dwParam1, dwParam2:DWORD);
begin
// Твоя ф - ция
end;

Вызов:
waveInOpen(
lphWaveIn,
uDeviceID,
lpFormatEx,
DWORD(@YourWaveInProc), !!!!!!!
dwInstance,
dwFlags);


Наверх

Титульная страница Поиск, карта сайта Написать письмо