Projectes clàssics - El mode tradicional

Per
crear un projecte clàssic, trieu una de les opcions
Win32 Clàssic
o una
Aplicació
de consola Win32. Els projectes
clàssics no són
visuals, per tant, són programes tradicionals d'assemblador,
on s'ha d'escriure tot el codi i generar el
projecte com a qualsevol altre IDE. Tot i així, l'Easy Code
ofereix alguns avantatges que fan més
fàcil la vostra feina, per això heu de tenir en
compte algunes consideracions per tal d'evitar
errors:
No haurieu d'incloure MAI el fitxer WINDOWS.INC, atès que l'Easy Code SEMPRE l'inclou internament per què és necessari per a les aplicaicons Windows de 32 bits. Per tant, si s'inclou aquest fitxer a qualsevol lloc del codi, es generaran múltiples errors.
Els procediments són globals a tot el projecte (a menys que siguin Private) per tal que pugueu invocar-los des de qualsevol altre mòdul sense haver d'escriure ni una sola lletra de codi. Si voleu que un procediment només "sigui visible" dins del mòdul en el que es troba, simplement feu-lo privat (Proc Private).
Opcionalment, les variables també poden ser globals a tot el projecte (vegeu Propietats del projecte) sense haver d'escriure ni una sola lletra de codi.
Els prototips de tots els procediments del projecte (Protos), Public o Private, són escrits internament per l'Easy Code, per tant, no cal que us en preocupeu.
Quan treballeu amb projectes exe, dll i consola, els recursos de la vostra aplicació poden fer-se a l'Editor de Recursos d'una manera molt fàcil. L'Editor de Recursos no està disponible per les llibreries estàtiques (projectes lib) per què no poden tenir recursos.
També podeu afegir un fitxer extern de Recursos compilats (*.res) generat fora de l'entorn de l'Easy Code. Si ho feu, com que només es pot enllaçar un fitxer de recursos a l'aplicació, tingueu en compte les següents consideracions:
Quan es desa un projecte per primera vegada, l'Easy Code crea una carpeta anomenada Res dins del directori del projecte. Totes les imatges i altres fitxers relacionats amb els recursos (a més del fitxer extern *.res, si n'afegiu un) han d'estar a la carpeta Res, per tal que l'Easy Code els pugui trobar quan generi el projecte. Si no, es poduïran errors i el projecte no serà generat.
Si voleu utilitzar el control Rich Edit o els "Windows Common controls", marqueu el quadre de verificació corresponent a les Propietats del projecte i els botons relacionats seran visibles a la caixa d'eines.
El quadre de verificació Manifest.xml indica si s'activaran els nous "comon controls" que es troben disponibles des del Windows XP i posteriors. Per a més informació, consulteu el tòpic Incloent un Manifest al projecte.
IMPORTANT:
Com
que només es pot enllaçar un fitxer de recursos a
una aplicació, si afegiu un fitxer extern
de recursos compilats (*.res),
l'Easy Code entendrà que és aquest fitxer el que
s'ha
d'enllaçar. Conseqüentment, tots els recursos
existents al seu Editor
de Recursos (si n'hi ha
algun) seran ignorats.
Per tal d'evitar errors no desitjats, tots els fitxers que es necessiten per a generar un projecte, incloënt-hi els fitxers necessaris per les aplicacions del Windows (kernel32.inc, user32.inc, kernel32.lib, user32.lib, etc.), s'haurien d'afegir al projecte mitjançant l'interfície de l'Easy Code (millor que incloure'ls al codi) utilitzant els següents menús:
Fitxers Include (*.inc) Utilitzeu el menú Projecte-->Afegeix fitxers Include (*.inc;.h) Fitxers Llibreria (*.lib) Utilitzeu el menú Projecte-->Afegeix fitxers Llibreria (*.lib) Fitxers de recursos compilats (*.res) Utilitzeu el menú Projecte-->Afegeix recursos externs (*.res) Fitxer de Definició (*.def) Utilitzeu el menú Projecte-->Afegeix un fitxer de Definició (*.def)
No cal que escribiu les directives .model
i option casemap
al vostre codi (si ho feu,
veureu un "WARNING" a l'hora de
compilar). La interfície de l'Easy Code sempre
afegeix internament les sentències
següents (necessàries per les aplicacions Windows
de 32 bits):
.model flat,
stdcall
option
casemap:none
No cal que escriviu la directiva ALIGN dins del codi per què l'Easy Code sempre l'escriu internament. El valor per aliniar el codi i les dades serà el que hagiu indicat a l'ítem Aliniació de les Propietats del projecte.
No cal que escriviu cap de les directives .386, .486 o .586 per què l'Easy Code sempre ho fa internament. La directiva corresponent serà la que s'hagi indicat a l'ítem Processador de les Propietats del projecte.
Els fitxers Include i Llibreria (*.inc i *.lib) sempre es busquen als següents directoris:
Per tant, tots els fitxers Include i Llibreria que es necessitin han de ser afegits amb les corresponents opcions de menú, i han d'estar ubicats en algun dels directoris especificats. Qualsevol altre fitxer necessari s'ha d'afegir al projecte i s'ha de posar al directori del projecte (excepte els fitxers d'imatge, fitxers de recursos externs *.res, i altres fitxers relacionats amb els recursos, que han d'estar al subdirectori Res).
Quan genereu Llibreries estàtiques (projectes lib) i/o Llibreries d'enllaç dinàmic (projectes dll), podeu afegir un fitxer de definició (*.def). Si ho feu, recordeu que només es pot afegir un fitxer de definició a un projecte, i que aquest fitxer també ha d'estar al directori del projecte.
El nom final de l'executable, llibreria dinàmica o llibreria estàtica, serà sempre el nom del projecte més l'extensió corresponent (exe, dll o lib). Per exemple, un projecte anomenat Projecte1 serà Projecte1.exe, Projecte1.dll o Projecte1.lib, depenent del tipus de projecte.
Quan es crea un projecte clàssic nou, l'Easy Code afegeix automàticament un mòdul anomenat Module1. Podeu afegir tants mòduls (nous o existents) com vulgueu, utilitzant els següents menús:
A més, sempre s'inclouen per defecte els següents fitxers:
Windows.inc
també s'inclou
sempre. Si voleu incloure el fitxer Macros.asm,
simplement marqueu l'opció corresponent a
les Propietats
del projecte.
Les aplicacions senzilles no necessiten res més. De tota manera, si utilitzeu funcions de l'API, p.e. del fitxer gdi32.dll, haureu d'afegir els fitxers *.inc i *.lib corresponents.
Quan afegeiu mòduls existents, haurien d'haver estats fets amb l'Easy Code per tal d'evitar problemes. Tot i així, en molts casos, els fitxers d'assemblador (*.asm), que no hagin estat creats per l'Easy Code, es carregaran sense problemes.
Quan dissenyeu quadres de diàleg ("dialog boxes") a l'Editor de Recursos, podeu posar-hi diferents controls a dins. Per tenir una relació dels controls disponibles vegeu Objectes Control.
Per tal d'il·lustrar tot el que aquí s'ha dit, vegeu els exemples que vénen amb l'Easy Code (localitzats a la carpeta Examples del directori de l'Easy Code). Les aplicacions EasyCalc, GeneSys i RSEdit (projectes clàssics) han estat fetes totalment amb l'Easy Code i utilitzen tot l'estil de programació que s'ha vist en aquest capítol.
OBSERVACIONS: Als projectes clàssics heu d'escriure tot el codi, per tant, haureu d'ocupar-vos de les directives necessàries (excepte les que s'han esmentat anteriorment), i de desar els registres Ebx, Edi i Esi (tal com exigeix el Windows), per tal de compilar i enllaçar sense errors.
IMPORTANT:
Com que l'Easy Code ignora la directiva Option
Proc,
els procediments són sempre Public
per defecte si no estan explícitament declarats com a Private.
Si us plau vegeu la secció Codi i Dades: Privat o
Públic.