Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];




Вниз

работа с 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]

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




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.031 c
3-42677           Натик                 2002-01-18 13:07  2002.02.14  
Index is out of date


3-42676           Georg                 2002-01-18 13:27  2002.02.14  
Построение индексов


3-42675           Aledo                 2002-01-20 15:59  2002.02.14  
Заполнение таблицы


1-42786           SP                    2002-01-31 11:53  2002.02.14  
Контрольна сумма файла


1-42779           Зинец Виктор          2002-01-30 16:32  2002.02.14  
Моя прога мешает перезагрузке/перелогину Виндовс :-(