Maks150988
Для преобразования в строку уже есть функция StrPas. Или даже проще: "To convert a null terminated string to an AnsiString or native Delphi language string, use a typecast or an assignment."
_http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_StrPas@PAnsiChar.html
Но для этого лучше выделять память на 1 байт больше, чем требуется для чтения, чтобы в этом последнем байте гарантированно был null (символ с кодом 0).
И перед выходом из функции, явно очистите память за собой SetLength(pByteData, 0);
А насчет того, что не весь _большой_ файл скачивается, то вы явно не обратили внимание на замену
Код: bRet := InternetQueryDataAvailable(hResourceHandle, dwBytesToWrite, 0, 0);
if (bRet and (dwBytesToWrite > 0)) then
Для преобразования в строку уже есть функция StrPas. Или даже проще: "To convert a null terminated string to an AnsiString or native Delphi language string, use a typecast or an assignment."
_http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_StrPas@PAnsiChar.html
Но для этого лучше выделять память на 1 байт больше, чем требуется для чтения, чтобы в этом последнем байте гарантированно был null (символ с кодом 0).
И перед выходом из функции, явно очистите память за собой SetLength(pByteData, 0);
А насчет того, что не весь _большой_ файл скачивается, то вы явно не обратили внимание на замену
Код: bRet := InternetQueryDataAvailable(hResourceHandle, dwBytesToWrite, 0, 0);
if (bRet and (dwBytesToWrite > 0)) then