Proyectos clásicos - El modo tradicional




Para crear un proyecto clásico, elija una de las opciones clásicas. Los proyectos clásicos no son visuales, es decir, son programas tradicionales de ensamblador, donde se debe escribir todo el código y generar el proyecto como en cualquier otro IDE. Aun así, Easy Code ofrece algunas ventajas que hacen mas fácil su trabajo, y por ello debe tener en cuenta algunas consideraciones a fin de evitar errores:

Si el proyecto es de tipo driver, no debe incluir NUNCA el archivo windows.inc, en su lugar debe incluirse el archivo ntddk.inc. Easy Code ya se cuida de ello cuando se crea el proyecto.

Para los proyectos ASMC/JWASM/UASM, MASM y POASM, las variables se pueden hacer globales a todo el proyecto marcando la opción Hacer globales todas las variables en las Propiedades del proyecto para que no tenga que escribir las correspondientes directivas ExternDef. Easy Code las escribe internamente cuando la mencionada opción está marcada.

Para los proyectos ASMC/JWASM/UASM, MASM y POASM, los prototipos de todos los procedimientos del proyecto (Protos), también son escritos internamente por Easy Code, por lo tanto, no hace falta que se preocupe de ellos.

Cuando trabaje con proyectos exe, dll y consola, los recursos de su aplicación pueden hacerse en el Editor de Recursos de una manera muy fácil. El Editor de Recursos no está disponible para las librerías estáticas (proyectos lib) porque no pueden tener recursos.

También puede agregar un archivo externo de Recursos compilados (*.res) generado fuera del entorno de Easy Code. Si lo hace, puesto que sólo se puede enlazar un archivo de recursos a la aplicación, tenga en cuenta las siguientes consideraciones:

- Todos los recursos del Editor de Recursos de Easy Code serán ignorados.
- Easy Code sólo acepta un archivo externo de recursos compilados (*.res).
- Los archivos de texto con extensión *.rc (recursos no compilados) NO SON aceptados por Easy Code (excepto para ser importados).
- El archivo de recursos externos *.res agregado debe estar en la subcarpeta Res del directorio del proyecto.
Cuando se guarda un proyecto por primera vez, Easy Code crea una subcarpeta llamada Res dentro del directorio del proyecto. Todas las imágenes y demás archivos relacionados con los recursos (además del archivo externo *.res, si se agrega uno) deben estar en la subcarpeta Res, para que Easy Code los pueda encontrar cuando genere el proyecto. Si no, se poducirán errores y el proyecto no será generado.

Si desea utilizar el control Rich Edit o los Windows Common controls, marque el cuadro de verificación correspondiente en las Propiedades del proyecto y los botones relacionados serán visibles en la caja de herramientas.

El cuadro de verificación Manifiesto indica si se activarán los nuevos comon controls que se encuentran disponibles en Windows XP y sistemas posteriores. Para más información, consulte el tópico Incluyendo un Manifiesto en el proyecto.


IMPORTANTE:
Puesto que sólo se puede enlazar un archivo de recursos a una aplicación, si agrega un archivo externo de recursos compilados (*.res), Easy Code entenderá que es este archivo el que se debe enlazar. Consecuentemente, todos los recursos existentes en su Editor de Recursos (si hay alguno) serán ignorados.

Con el fin de evitar errores no deseados, todos los archivos que se necesiten para generar un proyecto, incluyendo los archivos necesarios para las aplicaciones de Windows (kernel32.inc, user32.inc, kernel32.lib, user32.lib, etc.), deberían ser agregados al proyecto mediante la interfaz de Easy Code (mejor que incluirlos en el código) utilizando los siguientes menús:

Archivos Include (*.inc;*.h) Utilice el menú Proyecto-->Agregar archivos Include (*.inc;.h)
Archivos Librería (*.lib) Utilice el menú Proyecto-->Agregar archivos Librería (*.lib)
Archivo de recursos compilados (*.res) Utilice el menú Proyecto-->Agregar recursos externos (*.res)
Archivo de Definición (*.def) Utilice el menú Proyecto-->Agregar archivo de Definición (*.def)

Para los proyectos ASMC/JWASM/UASM, MASM y POASM, no es preciso que escriba las directivas .model y option casemap en su código. La interfaz de Easy Code siempre añade internamente las sentencias siguientes:

.model flat, stdcall
option casemap:none

Los archivos Include y Librería (*.inc y *.lib) siempre se buscan en las siguientes carpetas:

- En la carpeta del proyecto
- En las subcarpetas Include o Lib indicadas en el menú Herramientas-->Configuración)
- En la subcarpeta Include de la carpeta EasyCode

Por consiguiente, todos los archivos Include y Librería que se necesiten deben ser agregados con las correspondientes opciones de menú, y tienen que estar ubicados en alguna de las carpetas especificadas.Cualquier otro archivo necesario debe agregarse al proyecto y tiene que estar en la carpeta del proyecto (excepto los archivos de imagen, archivos de recursos externos *.res, y otros archivos relacionados con los recursos, que deben estar en la subcarpeta Res).

Cuando genere Librerías estáticas (protectos lib) y/o Librerías de enlace dinámico (proyectos dll), puede agregar un archivo de definición (*.def). Si lo hace, recuerde que sólamente se puede agregar un archivo de definición en un proyecto, y que ese archivo también tiene que estar en el directorio del proyecto.

El nombre final del archivo ejecutable, librería dinámica, aplicación de consola, librería estática, archivo objeto COFF, driver o servicio, será siempre el nombre del proyecto mas la extensión correspondiente (exe, dll, lib, obj o sys). Por ejemplo, un proyecto llamado Proyecto1 será Proyecto1.exe, Proyecto1.dll, Proyecto1.lib, Proyecto1.obj o Proyecto1.sys, dependiendo del tipo de proyecto. Si desea programar un Driver NT clásico (sys), lea atentamente Programación de controladores NT (drivers)

Cuando se crea un proyecto clásico nuevo, Easy Code agrega automáticamente un módulo. Puede agregar tantos módulos (nuevos o existentes) como desee, utilizando los siguientes menús:

Proyecte-->Agregar Módulo
Proyecto-->Agregar archivo existente

Cuando agregue módulos existentes, deberían haber sido hechos con Easy Code para evitar problemas. Aun así, en muchos casos, los archivos de ensamblador (*.asm), que no hayan sido creados por Easy Code, se cargarán sin problemas.

Cuando diseñe cuadros de diálogo ("dialog boxes") en el Editor de Recursos, puede poner diferentes controles dentro de ellos. Para tener una relación de los controles disponibles vea Objetos Control.

OBSERVACIONES: En los proyectos clásicos usted debe escribir todo el código, por lo tanto, deberá ocuparse de las directivas necesarias (excepto las que se han mencionado anteriormente), y de guardar los registros Ebx, Edi y Esi (tal como exige Windows), para compilar y enlazar sin errores.