怎样用流读取写入DLL里面的字符串
我想往一个DLL的尾部写入一个字串,10个字符左右,然后能正常读出来
写入方法如下,能正确写入
var
Target:TFileStream;
S :String;
i :Integer;
begin
S := '32420B3E';
Target :=TFileStream.Create('TEST.dll', fmOpenWrite or fmShareExclusive);
try
i :=Sizeof(S)+sizeof(i);
Target.Seek(0,soFromEnd);
Target.WriteBuffer(s,Sizeof(s));
Target.WriteBuffer(i,sizeof(i));
finally
Target.Free;
end;
end;
读方法:
var
FCRC, S :String;
Source:TFileStream;
i :Integer;
begin
FCRC := GetCRC32(edtMain.Text);
Source := TFileStream.Create(edtDll.Text, fmOpenRead or fmShareDenyNone);
try
Source.Seek(0, soFromEnd);
Source.Read(i,Sizeof(i));
Source.Read(S,i-Sizeof(i));
if Pos(FCRC, S)=1 then
Information('测试成功')
else begin
Warning('测试失败,请检查');
end;
finally
Source.Free;
end;
end;
怎么读方法不对呢,应该怎样写,谢谢?