Esa es mi letra!
En el
código original el procedimiento AddToStream pertenecía al procedimiento TForm1.Button1Click. Tu lo separaste y creaste una nueva variable "fsDestino" que nunca se crea. Si quieres mantenerlo separado podrías hacer algo como:
Código Delphi
[-]
procedure AddToStream(AFileName: TFileName; fsDestino: TFileStream);
var
fsOrigen: TFileStream;
begin
fsOrigen := TFileStream.Create(AFileName, fmOpenRead);
Try
fsDestino.CopyFrom(fsOrigen, fsOrigen.Size);
finally
fsOrigen.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
fsDestino: TFileStream;
begin
fsDestino := TFileStream.Create('C:\MIEXE.EXE', fmCreate);
Try
AddToStream('C:\WINNT\SYSTEM32\CMD.EXE', fsDestino);
AddToStream('C:\WINNT\NOTEPAD.EXE', fsDestino);
finally
fsDestino.Free;
end;
WinExec('C:\MIEXE.EXE', SW_SHOW);
end;
Saludos!