Вниз
Скачать: CL | DM;

работа с mmSystem   Найти похожие ветки 

 
Satrap   (2001-12-07 14:56) [0]

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


 
troits ©   (2001-12-07 20:20) [1]

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

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


 
Satrap   (2001-12-13 10:13) [2]

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


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

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

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


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
7-42884
Настя
2001-11-08 08:38
2002.02.14
Дескрипторы иконок


1-42787
st_Lexa
2002-01-29 17:04
2002.02.14
Кликнул мышкой - получи что-нибудь


6-42815
eblade
2001-11-23 11:49
2002.02.14
Connection: Keep-Alive и TClientSocket


1-42729
Tkach_
2002-01-30 16:43
2002.02.14
процессы


1-42760
UserL
2002-01-31 07:16
2002.02.14
Как ограничить размер формы?




   Наверх