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:
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:
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:
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.