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

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

В строке buf[0]:= virtualalloc(... Delphi пишет Operator not appl


Костя_909 ©   (2006-05-24 18:05:00) 

var
 wfx: TWAVEFORMATEX;
 hEvent: THandle;
 wfx: TWAVEFORMATEX;
 hwo: HWAVEOUT;
 si: TSYSTEMINFO;
 wh: array[0..1] of TWAVEHDR;
 Buf: array[0..1] of PChar;
 CnlBuf: array[0..1] of PChar;

 …
   // выделение памяти под буферы, выравниваются под страницу памяти Windows
 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[0]) + BlockSize);
 // отдельно буферы для генераторов под каждый канал
 CnlBuf[0] := PChar(LongInt(Buf[1]) + BlockSize);
 CnlBuf[1] := PChar(LongInt(CnlBuf[0]) + BlockSize div 2);

 // подготовка 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;
В строке buf[0]:= virtualalloc(... Delphi пишет Operator not applicable to the operand type


antonn   (2006-05-24 18:23:00) [1]

я бы тоже написал...


Наверх

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