你要合并文件没必要写成这样啊。用下面的代码就可以实现了:
var
  Source, ToF: TMemoryStream;
begin
  Source:=TMemoryStream.Create;
  ToF:=TMemoryStream.Create;
  Source.LoadFromFile('c:\1.txt');
  ToF.LoadFromFile('c:\2.txt');
  //如果把2追加到1中实现合并的话,那么代码是
  Source.Position:=Source.Size;
  Source.CopyFrom(ToF,0);
  ToF.Free;
  Source.Free;
end;//这样就行啦。