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:
No debería incluir el archivo Windows.inc, puesto que Easy Code SIEMPRE lo incluye internamente porque es necesario para las aplicaciones Windows de 32 bits. Si el proyecto es de tipo driver, el archivo Windows.inc no se incluye NUNCA porque se producirían múltiples errores en tiempo de compilación. Los proyectos driver solamente incluyen sus propios archivos inc.
Los procedimientos son globales a todo el proyecto (a menos que sean Private) para que pueda invocarlos desde cualquier otro módulo sin tener que escribir ni una sola letra de código. Si desea que un procedimiento sólo "sea visible" dentro del módulo en el que se encuentra, simplemente hágalo privado (Proc Private).
Opcionalmente, las variables también pueden ser globales a todo el proyecto (vea Propiedades del proyecto) sin tener que escribir ni una sola letra de código.
Los prototipos de todos los procedimientos del proyecto (Protos), Public o Private, 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:
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 (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) 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)
No es preciso que escriba las directivas .model y option casemap en su código (si lo hace, verá un "WARNING" a la hora de compilar). La interfaz de Easy Code siempre añade internamente las sentencias siguientes (necesarias para las aplicaciones Windows de 32 bits):
.model flat,
stdcall
option
casemap:none
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 de las Propiedades del proyecto.
No es preciso que escriba ninguna de las directivas .386, .486 o .586 porque Easy Code siempre lo hace internamente. La directiva correspondiente será la que se haya indicado en el ítem Procesador de las Propiedades del proyecto.
Los archivos Include y Librería (*.inc y *.lib) siempre se buscan en los siguientes directorios:
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 alguno de los directorios especificados.Cualquier otro archivo necesario debe agregarse al proyecto y tiene que 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).
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, librería estática, archivo objeto COFF o driver, 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 llamado Module1. Puede agregar tantos módulos (nuevos o existentes) como desee, utilizando los siguientes menús:
Además, siempre se incluyen por defecto los siguientes archivos (excepto en proyectos de tipo driver):
Windows.inc también
se incluye siempre por defecto (excepto en proyectos
de tipo driver).
Si desea incluir el
archivo Macros.asm,
simplemente marque la
opción correspondiente en las Propiedades
del proyecto.
Las aplicaciones sencillas no necesitan nada mas. De todas maneras, si utiliza funciones de la API, p.e. del archivo gdi32.dll, deberá agregar los archivos *.inc y *.lib correspondientes.
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). Las aplicaciones EasyCalc, GeneSys y RSEditor (proyectos clásicos) han sido hechas 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.
IMPORTANTE:
Puesto que Easy Code ignora la directiva Option
Proc,
los procedimentos son siempre Public
por defecto si no están explícitamente declarados
como
Private.
Por favor vea la sección Código y
Datos: Privado o Público.