HOWTO: AX – Ventana de progreso para procesos largos

Me gustaría empezar a colgar pequeños trucos o trozos de código útiles, por un lado con un fin divulgativo para que si a alguien le sirve, lo utilice; y por otro lado con un fin documental para hacer una pequeña biblioteca de código y poder consultarla en caso necesario. Sugerencias seran bien recibidas, como siempre. Como es el primero, empezare por uno muy sencillo:

Se trata de utilizar la clase SysOperationProgress para mostrar el diálogo estandar de progreso, que podemos (y debemos) utilizar en procesos que se puedan alargar mas de unos pocos segundos

SysOperationProgress p = new SysOperationProgress();
int i;
;
 
#AviFiles
 
p.setCaption("Título del diálogo");
p.setAnimation(#AviTransfer);
p.setTotal(100000);
 
for (i=1; i <= 100000; i++)
{
   p.setText(strfmt("Progreso %1", i));
   p.incCount();
}

Su utilización es bien sencilla y se puede complicar, por ejemplo para añadir varias barras de progreso en el mismo diálogo, jugando, por ejemplo, con los parámetros del constructor de la clase.

Descargas


jaestevan
Microsoft Dynamics AX MVP. Programador y consultor técnico de soluciones Microsoft Dynamics AX y Business Intelligence. Experiencia con Dynamics AX, SQL Server y lenguajes como VB6, .NET C#, PHP, Java, etc. para desarrollos de escritorio, PDA, sitios y servicios web, interfaces de integración, etc.