SuccessRead:=ReadFile(hPipe, buffer^, SizeOfWaitingData, bytesRead, nil);
Второй параметр ReadFile - var Buffer; - безтиповая переменная.
В случае, когда buffer - статический массив, то так передавать можно,
var buffer:array[0..2000] of byte;
адрес статического массива совпадает с адресом его первого элемента.
В случае динамического массива, или когда
var buffer:Pointer;
адрес памяти и адрес самой переменной buffer - это две большие разницы.
Поэтому нужно указывать не buffer, а разыменовать - buffer^
Вот.
|