Utilizando Masm32 v11 Unicode (todos los proyectos)


La versión 11 de Masm32 le permite programar aplicaciones Unicode de una manera muy fácil definiendo la constante __UNICODE__. Aprovechando esta nueva característica, Easy Code incorpora la nueva opción Modo Unicode de Masm32, en las Propiedades del proyecto. Si este cuadro de verificación está seleccionado, la constante __UNICODE__ será definida internamente por el IDE, de modo que todas las funciones, estructuras y constantes de la API hagan referencia a sus valores Unicode.

Para poder seleccionar/deseleccionar esta nueva opción, el cuadro de verificación Generar el proyecto como Unicode (Windows NT o posterior) debe estar seleccionado, de lo contrario estará deshabilitada. Ambas opciones hacen que la aplicación generada funcione en modo Unicode, pero hay una diferencia relevante entre ellas:

En los proyectos visuales, la opción Generar el proyecto como Unicode (Windows NT o posterior) hace que la aplicación generada compruebe (en tiempo de ejecución) la plataforma en la que se está ejecutando. Si la plataforma es anterior a Windows NT 4.0, la aplicació se ejecuta en modo ANSI. Contráriamente, si la plataforma es Windows NT 4.0 o posterior, la aplicación se ejecuta en modo Unicode. Por ese motivo, debe tener siempre presente en qué modo se está ejecutando la aplicación cuan escriba código, con el fin de llamar a la versión correcta de las funciones de la API (acabadas en "A" o "W") en todo momento. Para más información, vea el tópico Aplicaciones ANSI / Unicode.

Por el contrario, la opción Modo Unicode de Masm32 no hace ninguna comprovación en tiempo de ejecución, solamente define o no la constante __UNICODE__ de Masm32 (tanto en los proyectos visuales como en los clásicos), lo cual hace que el compilador haga referencia a la versión de la API correspondiente, acabada en "A" o "W". Cuando esta opción está seleccionada, la aplicación siempre se compilará con las versiones Unicode de todas las funciones, estructuras y constantes de la API (a menos que el código se refiera explícitamente a las versiones acabadas en "A"). Como resultado, la aplicación generada no funcionará en Windows 95/98/ME.

Teniendo en cuenta todo lo dicho, puede seleccionar ambas opciones, Generar el proyecto como Unicode (Windows NT o posterior) y Modo Unicode de Masm32, en su proyecto, pero SÓLO si desea hacer una aplicación que se ejecute únicamente en sistemas operativos Windows Unicode (Windows NT i posterior).

El ejemplo Theming para probar esta nueva opción ha sido agregado en la carpeta Examples. El proyecto Theming activa o desactiva los estilos visuales en Windows XP y sistemas posteriores. Marcando o desmarcando las opciones Generar el projecte como Unicode (Windows NT o posterior) y Modo Unicode de Masm32, se generará, respectivamente, una aplicación Unicode o ANSI sin tener que hacer ni una sola modificación en el código.


OBSERVACIONES: La opción Modo Unicode de Masm32 no tiene ningún efecto en versiones de Masm32 anteriores a la v11.