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:

Debería incluir SIEMPRE el archivo Windows.inc (o Windows.h si está usando las GoAsm headers) para poder utilizar las constantes de Windows y llamar a las funciones de la API mas fácilmente. Si este archivo no está incluido, deberá escribir directamente el valor de las constantes y tener en cuenta la función de la API a la que desea llamar (p.e: GetModuleHandleA o GetModuleHandleW). El código generado por Easy Code cuando se crea un proyecto (excepto los proyectos de tipo driver) siempre incluye este archivo. Los proyectos driver no deben incluir NUNCA Windows.inc (ni Windows.h), puesto que ya incluyen sus propios archivos .h.

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 los archivos objeto COFF (proyectos obj) debido a que 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 carpeta Res del directorio del proyecto.


Cuando se guarda un
proyecto por primera vez, Easy Code crea una carpeta 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 carpeta 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 Manifest.xml indica si se activarán los nuevos "comon controls" que se encuentran disponibles desde Windows XP y 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 (Windows.inc, kernel32.dll, user32.dll, 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) Utilice el menú Proyecto-->Agregar archivos Include (*.inc;.h)
Archivos dinámicos (*.dll;*.ocx;*.drv;*.exe) Utilice el menú Proyecto-->Agregar archivos de Enlace dinámico
Archivo de recursos compilados (*.res) Utilice el menú Proyecto-->Agregar recursos externos (*.res)


No es preciso que escriba la directiva ALIGN dentro del código porque Easy Code siempre la escribe internamente. El valor para alinear el código y los datos será el que haya indicado en el ítem Alineación (código y datos)
de las Propiedades del proyecto.

Los archivos Include (*.inc;*.h) se buscan siempre en los directorios siguientes:

- En el directorio del proyecto
- En el directorio Include de las carpetas de GoAsm (indicado en el menú Herramientas-->Configuración)
- En el directorio Include de las carpetas de Easy Code (EasyCode.Go)


Los
archivos de enlace dinámico (*.dll;*.ocx;*.drv;*.exe) se buscan siempre en el directorio del Sistema. El enlazador GoLink ignora los archivos .lib y toma toda la información necesaria de las dll's del Sistema (vea Utilizando la directiva #DynamicLinkFile).

Por consiguiente, todos los archivos Include o dll que se necesiten deben ser agregados con las correspondientes opciones de menú, y tienen que estar ubicados en alguno de los directorios especificados. Cualquier otro archivo necesario debe agregarse al proyecto y debe estar en el directorio del proyecto, excepto los archivos de imagen, archivos de recursos externos *.res, y otros archivos relacionados con los recursos, que deben estar en el subdirectorio Res.

El nombre final del ejecutable, librería dinámica, archivo objeto COFF o driver, será siempre el nombre del proyecto mas la extensión correspondiente (exe, dll, obj o sys). Por ejemplo, un proyecto llamado Proyecto1 será Proyecto1.exe, Proyecto1.dll, 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 llamado Module1. Puede agregar tantos módulos (nuevos o existentes) como desee, utilizando los siguientes menús:

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


Windows.inc
(o Windows.h si está usando las GoAsm headers) se incluye siempre por defecto excepto para los proyectos de tipo driver.

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.

Para ilustrar todo lo que aquí se ha dicho, vea los ejemplos que vienen con Easy Code (localizados en la carpeta Examples del directorio de Easy Code). La aplicación CardFile (proyecto clásico) y el archivo por defecto Archivo ejecutable clásico (programado por Jeremy Gordon) están hechos totalmente con Easy Code y utilizan todo el estilo de programación que se ha visto en este capítulo.

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.