Utilitzant el Masm32 v11 Unicode (tots els projectes)


La versió 11 del Masm32 us permet programar aplicacions Unicode d'una manera molt fàcil definint la constant __UNICODE__. Aprofitant aquesta nova característica, l'Easy Code incorpora la nova opció Mode Unicode del Masm32, a les Propietats del projecte. Si aquest quadre de verificació està seleccionat, la constant __UNICODE__ serà definida internament per l'IDE, per tal que totes les funcions, estructures i constants de l'API facin referència als seus valors Unicode.

Per poder seleccionar/deseleccionar aquesta nova opció, el quadre de verificació Genera el projecte com a Unicode (Windows NT o posterior) ha d'estar seleccionat, altrament estarÓ deshabilitada. Ambdues opcions fan que l'aplicació generada funcioni en mode Unicode, però hi ha una diferència rellevant entre elles:

Als projectes visuals, l'opció Genera el projecte com a Unicode (Windows NT o posterior) fa que l'aplicació generada comprovi (en temps d'execució) la plataforma en la que s'està executant. Si la plataforma és anterior a Windows NT 4.0, l'aplicació s'executa en mode ANSI. Altrament, si la plataforma és Windows NT 4.0 o posterior, l'aplicació s'executa en mode Unicode. Per aquest motiu, heu de tenir sempre present en quin mode s'està executant l'aplicació quan escriviu codi, per tal de cridar la versió correcta de les funcions de l'API (acabada en "A" o "W") en tot moment. Per a més informació, vegeu el tòpic Aplicacions ANSI / Unicode.

Altrament, l'opció Mode Unicode del Masm32 no fa cap comprovació en temps d'execució, només defineix o no la constant __UNICODE__ del Masm32 (tant als projectes visuals com als clàssics), la qual cosa fa que el compilador faci referència a la versió de l'API corresponent, acabada en "A" o "W". Quan aquesta opció està seleccionada, l'aplicació sempre es compilarà amb les versions Unicode de totes les funcions, estructures i constants de l'API (si no és que el codi es refereix explícitament a les versions acabades en "A"). Com a resultat, l'aplicació generada no funcionarà en Windows 95/98/ME.

Tenint en compte tot el que s'ha dit, podeu seleccionar les dues opcions, Genera el projecte com a Unicode (Windows NT o posterior) i Mode Unicode del Masm32, al vostre projecte, però NOMÉS si voleu fer una aplicació que s'executi únicament en sistemes operatius Windows Unicode (Windows NT i posterior).

L'exemple Theming per provar aquesta nova opció ha estat afegit a la carpeta Examples. El projecte Theming activa o desactiva els estils visuals al Windows XP i sistemes posteriors. Marcant o desmarcant les opcions Genera el projecte com a Unicode (Windows NT o posterior) i Mode Unicode del Masm32, es generarà, respectivament, una aplicació Unicode o ANSI sense haver de fer ni una sola modificació en el codi.


OBSERVACIONS: L'opció Mode Unicode del Masm32 no té cap efecte en versions del Masm32 anteriors a la v11.