![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В строке 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]я бы тоже написал...