Hola juaarias.
Tendría que funcionar si tenés la propiedad
MultiSelect igual a True en los componentes, ya que no tiene sentido usar
SelCount si sólo se va a seleccionar un elemento...
Para ajustarse a tu caso debería ser:
Código Delphi
[-]
if (lstProductos.SelCount = 1)and(lstPrecios.SelCount = 1) then
begin
frmEditar.txtNuevoNombre.Text:=frmDatos.lstProductos.Items[frmDatos.LstProductos.ItemIndex];
frmEditar.txtNuevoPrecio.Text:=frmDatos.lstPrecios.Items[frmDatos.LstPrecios.ItemIndex];
frmEditar.show;
end;
Pero dado que sólo se envía un dato de cada componente y para no confundir al usuario permitiendo selecciones múltiples, mejor sería dejar la
propiedad
MultiSelect en False y simplemente usar:
Código Delphi
[-]
if (lstProductos.ItemIndex <> -1)and(lstPrecios.ItemIndex <> -1) then
begin
frmEditar.txtNuevoNombre.Text:=frmDatos.lstProductos.Items[frmDatos.LstProductos.ItemIndex];
frmEditar.txtNuevoPrecio.Text:=frmDatos.lstPrecios.Items[frmDatos.LstPrecios.ItemIndex];
frmEditar.show;
end;
Saludos.