Я использую этот код для прикрепления файла в качестве ресурса к исполняемому файлу:
interface
type
TBuffer = Array [0 .. 0] of Byte;
PBuffer = ^TBuffer;
Procedure AttachFile();
var
DataLength: DWord;
Data: PBuffer;
begin
FS := TFileStream.Create(Filename, fmOpenRead);
try
FS.Seek(0, soFromBeginning);
DataLength := FS.Size;
GetMem(Data, DataLength);
FS.Read(Data^, DataLength);
finally
FS.Free;
end;
UpdateResource(ResourceHandle, RT_RCDATA, pchar('ResName'),
0, Data, DataLength);
EndUpdateResource(ResourceHandle, false);
end;
Проблема в том, что когда я хочу прикрепить файл Larg
(1 ГБ, например), используя этот код, я получу эту ошибку: Out of memory
.
Я также попытался разделить файл на более мелкие части (например, 100 МБ) и прикрепить его, используя for ring
, но он все равно не работает, и я получаю Out of memory