Herencia de VB 6.0 en C#

Una de las funcionalidades que más apreciaban los programadores de VB 6.0 a la hora de crear procesos y bucles muy largos era la de poder decirle al sistema que recupere el foco para poder atender otros procesos en ejecución.


Esto se hacía mediante la instrucción DoEvents en VB 6.0, lo que permitía por ejemplo que el sistema atendiese a otros eventos como podía ser el de redibujar el contenido de una ventana mientras se ejecutaba el proceso. Esto era visible por ejemplo cuando se ejecutaba una instalación y la ventana y la barra de progreso no se redibujaban por estar ocuado el proceso de la aplicación (muchos han sido los instaladores que han sufrido este problema).


Pues bien, en C# podemos contar con la misma funcionalidad que contábamos en VB 6.0 mediante la llamada al evento DoEvents() perteneciente al espacio de nombres System.Windows.Forms.Application.


Un ejemplo de uso podría ser mientras esperamos a que el control Winsock realice una conexión:


// C#
// using System.Windows.Forms;



do
{
   Application.DoEvents();
}while(Winsock.State==7);


En un nivel más avanzado lo podremos usar en gestión multiprocesos o con la clase Timer para impedir bloqueos.


Espero que os resulte de utilidad.

Microsoft Office System 2007 Beta 2 deja de ser gratis

Sorpresa la mía cuando descubro que la opción de descarga de Office 2007 Beta 2 ya no está disponible desde la web de Microsoft Ibérica, la única opción es la de solicitar que te lo envíen a tu domicilio.


Pero esto no acaba aquí, descubro que desde la página de microsoft.com sigue disponible para descarga para otros paises, pero con una de las opciones más extrañas que he visto…


Si deseas descargar la versión Beta 2 de Office System desde la web principal de Microsoft debes hacer un pago mediante tarjeta de crédito de 1,95$ (1,20£) más impuestos por producto seleccionado para poder proceder a la descarga. ¿Es lícito cobrar por un producto en versión Beta? En realidad se abona en concepto de compra del servicio de descarga, pero creo que no está suficientemente justificado este pago y menos cuando hasta ahora no se había decidido cobrar.


¿Será esta una nueva política de descargas de Microsoft?
¿Lo harán con todos sus productos?
El tiempo nos lo dirá.

MOSS 2007 Beta 2 a RTM

Esta noticia resultará de gran interés a todos aquellos que estéis instalando o migrando versiones antiguas a Office Sharepoint Server 2007 Beta 2 en sistemas en producción (que por otro lado no es una práctica muy recomendable).


El único camino soportado para actualizar los sistemas a versión RTM es hacer lo siguiente, pero esto también encuentra sus peros…


MOSS 2007 Beta 2 –> MOSS 2007 Beta 2 Technical Refresh –> MOSS 2007 RTM


Nota: La Beta 2 TR ha salido como un parche a la versión Beta 2, así que los que estaban esperando esta versión para no instalar la Beta 2 tendrán que hacerlo de todas formas.


Nota: La actualización a la versión RTM no está soportada directamente, debe actualizarse desde Beta 2 a Beta 2 TR y después a RTM.


Nota: La actualización a la versión RTM necesita desinstalar la versión Beta 2 TR y realizar cambios en el registro antes de proceder a su instalación.


Esta noticia procede del blog de


Steve Caravajal’s Ramblings


http://blogs.msdn.com/scaravajal/archive/2006/07/18/670336.aspx

Internet Explorer Developer Toolbar Beta 2

Hace tiempo me encontré con esta herramienta que vengo siguiendo desde hace poco y que se encuentra en sintonía con el post anterior.


Internet Explorer Developer Toolbar Beta 2 es una herramienta que nos ayudará en nuestra tarea diaria de mantener o crear diseños web, o si simplemente eres un curioso de estos temas.
Se añade a Internet Explorer y se muestra como una ventana separada o se integra con nuestro explorador.


Entre sus funcionalidades se encuentran las siguientes:



  • Explorar y modificar el document object model (DOM) de una página Web.

  • Localizar y seleccionar elementos específicos de una página web.

  • Deshabilitar de forma selectiva características de Internet Explorer.

  • Ver nombres de clases de objetos HTML, ID’s, y detalles como direcciones de enlaces, valores de índices de tabulación, etc.

  • Celdas de tablas, imágenes, o etiquetas seleccionadas.

  • Validar HTML, CSS, WAI, y enlaces RSS de sindicación.

  • Mostrar las dimensiones de una imagen, tamaños de archivos, información de directorios, y texto alternativo.

  • Cambiar las dimensiones del explorador a una resolución determinada.

Y otras funcionalidades no menos interesantes que nos harán la vida más fácil.


Para poder usar esta Beta 2 con Internet Explorer 7 Beta 2, se debe tener instalada como mínimo la versión Build 5335.5.


Una vez instalada la podréis usar a través del menú Ver, Barra del explorador, IE DOM Explorer (por ahora solo disponible en Inglés).

Microsoft Expression Web Designer CTP1

Para todos aquellos que os dedicáis al desarrollo web, ya tenemos disponible la CTP1 de Microsoft Expression Web Designer, el diseñador para Web de la familia Expression (Web Designer, Graphic Designer, Interactive Designer).


Aunque la descarga está disponible solo mediante registro, creo que es una herramienta muy útil, ya que nos permite diseñar Hojas de Estilo CSS de manera visual, para poder ver el resultado final que tendrá nuestra aplicación. Está perfectamente integrada con ASP.NET 2.0 e incluso podremos añadir controles de servidor desde el diseñador y cambiar algunas de sus propiedades sin tener que abrir Visual Studio.


Además esta herramienta incluye soporte y validación de los estándares Web (CSS, XHTML), lo que nos permitirá crear aplicaciones más accesibles y soportadas por múltiples navegadores. Acceso a datos de forma visual en la capa de presentación y soporte a páginas maestras son otras de sus características resaltables.


Como nota, decir que esta herramienta incorpora el servidor web de pruebas de Visual Studio 2005 (Cassinni 8.0) para probar nuestros diseños y así conseguir una integración absoluta entre los equipos de diseño y de desarrollo de una empresa.



Espero que disfrutéis probando esta CTP1.

Visual Studio Tools for Office “Cypress” o “v3”

El día 7 de junio KD Hallman, General Manger del Equipo de Visual Studio Tools for Office anunció “Cypress”, ahora llamado Visual Studio Tools for Office v3.VSTO v3 es un Add-on para Visual Studio 2005 que nos permitirá desarrollar soluciones para Microsoft Office System 2007, en Beta 2 accesible para descarga gratuita desde: Microsoft Office 2007 System – Descarga


Desde el Microsoft Office Developer Center se está empezando a proporcionar recursos para programadores relacionados con el futuro Add-on de forma paralela a la salida a mercado de Office System 2007.


Actualmente “Cypress” se encuentra en CTP y su versión a día de hoy es la versión de Junio, a la que podremos acceder desde:Visual Studio Tools for Office «v3» – June Community Technology Preview (CTP)


Además podemos encontrar varios vídeos sobre cómo desarrollar paneles de tareas en Excel 2007 y personalizar y modificar las ribbons (cintas) en PowerPoint 2007.


Para más información:


Microsoft Office Developer Center

Tip: Adaptándonos al modelo de aplicaciones Office 2007

Con el nuevo patrón de diseño de interfaces de usuario basado en Office 2007, se crea una nueva necesidad como algo común  y que deberemos tener muy presente a la hora de asignar funcionalidad a nuestras aplicaciones.


Esta nueva necesidad es la de modificar propiedades de un formulario Hijo desde el formulario Padre y al contrario.
Pero os preguntaréis el porqué de lo que escribo, pues os lo explico:


Dentro de la guía de estilo de IU de Office 2007 se definen las “Main Ribbon Tabs” (o pestañas principales de “cintas”) que no son nada más que pestañas dentro del formulario principal (Parent) que contienen Ribbons (contenedores que agrupan botones (mayoritariamente) con funcionalidad común entre ellos) con botones dentro.


Pues bien, estos botones deben afectar o cambiar el contenido del documento o formulario activo, pero también podemos necesitar hacer lo opuesto, es decir que dependiendo del contenido que estemos tratando en cada momento estos Main Ribbon Tabs se modifiquen o cambien de estado.


Para lograr esto podemos recurrir a las siguientes líneas de código que nos permitirán acceder a las propiedades, métodos y eventos de un formulario Padre desde uno Hijo y a la inversa:


Acceder a un formulario Padre desde el Hijo:


frmPadre padre = (frmPadre)this.MdiParent;
padre.Text = «Formulario Padre – Modificado»;


Acceder a un formulario Hijo desde el Padre:


Método 1:


 


//Nos permite recorrer la coleción de formularios hijos abiertos


foreach (Form f in this.MdiChildren)


    {


       if (f.Text == «Formulario Hijo») f.Text = «Formulario Hijo»;


    }


 


Método 2:


 


//Creamos una nueva instancia de un formulario hijo y cambiamos sus propiedades


frmHijo hijo = new frmHijo();


hijo.MdiParent = this;


hijo.WindowState = FormWindowState.Maximized;


hijo.Show();


 


Método 3:


 


//Modificamos una instancia ya creada de un formulario hijo activo


frmHijo hijo = ((frmHijo)this.ActiveMdiChild);


hijo.Text = «Formulario Hijo – Modificado»;


 


 


Espero que este pequeño Tip os sea de utilidad.


 

Error en el diseñador de Visual Studio 2005

Me he encontrado con un error en el diseñador de Visual Studio 2005 Professional (versión en español) que resulta bastante molesto.


Estaba desarrollando un proyecto WinForms que tenía un DataSet agregado e instanciado en un formulario, y cual es mi sorpresa, cuando al intentar agregar un evento FormClosing el diseñador de Visual Studio hacía desaparecer la línea:


this.DataSet = new DataSet();


dentro de la Región y de InitializeComponent():


#region Windows Form Designer generated code



private void InitializeComponent()


{}


del archivo Form.designer.cs.


El único modo de evitar esto es irse al archivo y mediante el editor de código agregar el evento a mano. De otra forma obtendremos un error de compilación que nos advierte de que no existe la referencia a nuestro dataset.


Espero que en el ServicePack1 de Visual Studio corrijan este error.

Office 2007 Beta 2 Error Report

He estado probando en mi equipo en producción (un error por mi parte) la nueva Beta 2 de MS Office 2007, y para mi desconcierto me he encontrado con problemas de inestabilidad y consumo desmesurado de recursos y tiempo de procesador.


Una de las novedades más notorias de Office 2007 Beta 2 es su interfaz de usuario, plenamente rediseñada, que en mi humilde opinión ha ganado en usabilidad y resulta más intuitiva y productiva.
Todos sus elementos comunes se encuentran al alcance en muy pocos clicks de ratón, pero en contraposición aquellas opciones de uso no tan frecuente resultan mucho más dificiles de encontrar. Esto se debe al nuevo diseño, que ha reinterpretado el modo de interactuar con la aplicación, y que, por ahora, nos resulta demasiado nueva e inexplorada.


Y retomando el porqué de este post, debo decir que estoy claramente desencantado con el rendimiento obtenido por algunas aplicaciones de la Suite Ofimática. En concreto con Outlook 2007 Beta 2, que aunque aporta nuevas funcionalidades como el lector RSS he obtenido errores desde el primer día de instalación.


Mi primera experiencia fué un bloqueo permanente de la aplicación al abrir esta por segunda vez después de haberla configurado, y por si esto no fuera poco, me resulto una tarea imposible matar el arbol de procesos de Outlook, por lo que me vi obligado a forzar un reinicio de la máquina en tres ocasiones.
El segundo tipo de error, que no he conseguido solucionar, es un consumo desmesurado de recursos y tiempo de procesador que de forma aleatoria invade mi máquina. Si monitorizamos el sistema con el Task Manager (Administrador de tareas) observaremos que en algunas ocasiones Outlook da comienzo a un proceso que absorve el 100% del uso del procesador a intervalos irregulares. El único modo de detener este proceso es cerrar la aplicación.


La otra aplicación de la Suite con la que no estoy nada convencido, muy a mi pesar por la cantidad de veces que hago uso de ella, es Powerpoint 2007 Beta 2, que hace un uso inimaginable del procesador, un 100% de uso para escribir texto en cada diapositiva.


Muy a mi pesar, por las esperanzas depositadas en este nuevo lanzamiento, debo decir que Office 2007 Beta 2 (debería ser Beta 1) es un producto muy inacabado y altamente inestable que debe madurar mucho antes de su salida a mercado.

Una nota de humor para desconectar del trabajo

Usted debe ser informático…
Un hombre está volando en un globo aerostático y se da cuenta de que se encuentra perdido. Mientras hace algunas maniobras ve a un tipo caminando por el campo. El hombre hace descender el globo algunos metros y grita:
– “Perdone, ¿me puede decir dónde estoy?”


A lo que el tipo que pasa por abajo le responde:
– “Usted está en un globo aerostático, suspendido a unos diez metros del suelo”.


El del globo pregunta:
– “Usted es informático verdad?”


El de abajo responde:
– “Así es, ¿cómo se ha dado cuenta?”


El del globo:
– “Bueno, todo lo que usted me ha dicho es ténicamente correcto, pero no resulta de utilidad para nadie.


El de abajo:
– “Y usted debe ser un usuario ¿verdad?”


El del globo:
– “Exacto, ¿y usted cómo lo ha sabido?”


El de abajo:
– “Sencillo. Usted no sabe donde se encuentra, ni hacia donde va, pero espera que yo le pueda ayudar. Usted está en la misma situación que antes de que nos encontrásemos, pero ahora usted cree que la culpa la tengo yo“.


 


Felices sueños…