¿Has creado una instancia de ese form?... Recuerda que los forms son objetos del tipo TForm o derivados, que por defecto el IDE nos crea una variable con el nombre del form, para que hagamos referencia a ella pero no necesariamete esa variable contenga una instancia de la clase.
Hay varias formas de hacerlo, una de ellas es crear la instancia cada vez que la necesitemos:
Código Delphi
[-]
procedure TwndPrincipal.ProduAgregaExecute(Sender: TObject);
begin
wndAgregaArticulo := TwndAgregaArticulo.Create(Self);
wndAgregaArticulo.Show;
end;
En este caso tendríamos que hacer que el propio form se autodestruya cuando se cierre, utilizadon el parámetro Action del OnClose del form = caFree.
O podríamos hacer que el form se autocree cuando inicia la aplicación. (Siempre evaluando anteriormente el costo de esto). En el archivo del proyecto tendría que existir alguna línea como:
Código Delphi
[-]
Application.CreateForm(TwndAgregaArticulo, wndAgregaArticulo);
Puedes configurar para que el IDE se encarge de agregar esta línea en forma automática para todos los forms y datamodules desde el menú: Tools \ Enviroment Options \ Designer \ Module creation Options \ Autocreate forms & data modules.
¿Por casualidad tu origen fue Visual Basic?...
Saludos!