Gracias por responder.
El problema viene en el listbox, que los recoge en orden inverso.
Creo el formulario, los recojo en un listbox y ya tengo la lista.
si le doy click a uno de los elementos, lo que hago es:
Código Delphi
[-]
showmessage(screen.Forms[listbox1.ItemIndex].caption+' '+inttostr(listbox1.ItemIndex));
screen.Forms[listbox1.ItemIndex].Show;
Y no corresponde el numero del screen.forms con el nombre almacenado.