Показать сообщение отдельно
  #6  
Старый 19.09.2009, 23:19
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Код:
procedure TForm1.OpenDevice;
var
BlockSize:dword;
ChlBuf :array of string;
i:integer;
Terminated :boolean;
begin
 hEvent := CreateEvent(nil, false, false, nil);
 if WaveOutOpen(@hwo, 0, @wfx, hEvent, 0, CALLBACK_EVENT) <> MMSYSERR_NOERROR then
 begin
  GetSystemInfo(si);
  buf[0]:= VirtualAlloc(nil, ((BlockSize * 4)+ si.dwPageSize-1) div si.dwPagesize * si.dwPageSize, MEM_RESERVE or MEM_COMMIT, PAGE_READWRITE);
  buf[1]:= PChar(LongInt(Buf[1])+ BlockSize);
  ChlBuf[0]:= PChar(LongInt(Buf[1]) + BlockSize);
  ChlBuf[1]:= PChar(LongInt(CnlBuf[0]) + BlockSize div 2);
  for I:= 0 to 1 do
  begin
   FillChar(wh[i], sizeof(TWAVEHDR), #0);
   wh[i].lpData:= buf[i];
   wh[i].dwBufferLength:= BlockSize;
   waveOutPrepareHeader(hwo, @wh[i], sizeof(TWAVEHDR));
  end;
//  Generator(CnlBuf[0], Typ[0], Freq[0], Lev[0], BlockSize div 2, tPred[0]); // какая-то процедура
//  Generator(CnlBuf[1], Typ[1], Freq[1], Lev[1], BlockSize div 2, tPred[1]); // какая-то процедура
//  Mix(buf[i], CnlBuf[0], CnlBuf[1], BlockSize div 2);	// какая-то процедура
  I:=0;
  while not Terminated do
  begin
   waveOutWrite(hwo, @wh[i], sizeof(WAVEHDR));
   WaitForSingleObject(hEvent, INFINITE);
   I:=I xor 1;
//   Generator(CnlBuf[0], Typ[0], Freq[0], Lev[0], BlockSize div 2, tPred[0]); // какая-то процедура
//   Generator(CnlBuf[1], Typ[1], Freq[1], Lev[1], BlockSize div 2, tPred[1]); // какая-то процедура
//   Mix(buf[i], CnlBuf[0], CnlBuf[1], BlockSize div 2); // какая-то процедура
  end;
 end;
end;

Процедур: Generator и Mix нет в коде ... поэтому он их и не находит
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием