Hola JLMN22 y bienvenido.
Te recomiendo aprender el uso de las [
etiquetas vB ] ya que facilíta mucho la lectura del código.
Además del error que te menciona el amigo
coso (que es el fundamental), el código te va a dar un mensaje de 'Lista llena' cuando termines de ingresar el quinto dato y agrega un espacio al principio de cada dato a partir del primero.
Al estar
productos y
ListBox1 almacenando los mismos datos, alguno pareciera innecesario. Ya que se podría transferir ListBox1 a ListBox2 directamente sin mediar el arreglo, pero es sólo una observación ya que el código funcionará igualmente.
Código Delphi
[-]
...
const
MAX = 5;
var
Form1: TForm1;
productos: array [1..MAX] of string[10];
ren:integer=1;
implementation {$R *.dfm}
procedure TForm1.InsertarClick(Sender: TObject);
begin
if ren <= MAX then
begin
productos[ren]:= Edit1.Text;
ListBox1.Items.Add(Edit1.Text);
Inc(ren);
Edit1.text:= ''
end
else
ShowMessage ('Lista llena');
end;
procedure TForm1.ProcesarClick(Sender: TObject);
begin
ListBox2.Items.Assign(ListBox1.Items);
end;
Un saludo.