N. *_*cA. 6 delphi resources stream
在delphi中,如何将MemoryStream写入数据资源?
procedure StringtoRes (filename:string; Inputstream: TMemoryStream);
var
hUpdate: THandle;
begin
hUpdate := BeginUpdateResource(PChar(filename), True);
UpdateResource(hUpdate, RT_RCDATA, 'ID', LANG_NEUTRAL,InputStream,InputStream.Size);
EndUpdateResource(hUpdate,False);
end;
Run Code Online (Sandbox Code Playgroud)
这段代码给了我一个访问冲突和强烈的不适感,因为我甚至不知道从哪里开始修复它.有没有人?
Rem*_*eau 11
在lpData参数中UpdateResource(),您需要传递TMemoryStream.Memory属性的值而不是TMemoryStream对象指针,例如:
procedure StringtoRes (const FileName: string; Inputstream: TMemoryStream);
var
hUpdate: THandle;
begin
hUpdate := BeginUpdateResource(PChar(FileName), True);
try
UpdateResource(hUpdate, RT_RCDATA, 'ID', LANG_NEUTRAL, InputStream.Memory, InputStream.Size);
finally
EndUpdateResource(hUpdate, False);
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |