Projectes clàssics - El mode tradicional




Per tal de crear un projecte clàssic, trieu una de les opcions clàssiques. Els projectes clàssics no són visuals, és a dir, 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 la qual cosa cal que tingueu en compte algunes consideracions per tal d'evitar errors:

Si el projecte és de tipus driver, no heu d'incloure MAI el fitxer windows.inc, en el seu lloc s'ha d'incloure el fitxer ntddk.inc. L'Easy Code ja se'n cuida d'això quan es crea el projecte.

Per als projectes ASMC/JWASM/UASM, MASM i POASM, les variables es poden fer globals a tot el projecte marcant l'opció Fes globals totes les variables a les Propietats del projecte per tal que no hàgiu d'escriure les corresponents directives ExternDef. L'Easy Code les escriu internament quan l'esmentada opció està marcada.

Per als projectes ASMC/JWASM/UASM, MASM i POASM, els prototips de tots els procediments del projecte (Protos), també 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:

- Tots els recursos de l'Editor de Recursos de l'Easy Code seran ignorats.
- L'Easy Code només accepta un fitxer extern de recursos compilats (*.res).
- Els fitxers de text amb extensió *.rc (recursos no compilats) NO SÓN acceptats per l'Easy Code (excepte per a ser importats).
- El fitxer de recursos externs *.res afegit ha d'estar a la subcarpeta Res del directori del projecte.

Quan es desa un projecte per primera vegada, l'Easy Code crea una subcarpeta 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 subcarpeta 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 indica si s'activaran els nous comon controls que es troben disponibles al Windows XP i sistemes 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;*.h) 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)


Per als projecte ASMC/JWASM/UASM, MASM i POASM, no cal que escriviu les directives .model i option casemap al vostre codi. La interfície de l'Easy Code sempre afegeix internament les sentències següents:

.model flat, stdcall
option casemap:none

Els fitxers Include i Llibreria (*.inc i *.lib) sempre es busquen a les següents carpetes:

- A la carpeta del projecte
- A les subcarpetes Include o Lib indicades al menú Eines-->Configuració)
- A la subcarpeta Include de la carpeta EasyCode

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 alguna de les carpetes especificades. Qualsevol altre fitxer necessari s'ha d'afegir al projecte i s'ha de posar a la carpeta del projecte (excepte els fitxers d'imatge, fitxers de recursos externs *.res, i altres fitxers relacionats amb els recursos, que han d'estar a la subcarpeta 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, aplicació de consola, llibreria estàtica, fitxer objecte COFF, driver o servei, serà sempre el nom del projecte més l'extensió corresponent (exe, dll, lib, obj o sys). Per exemple, un projecte anomenat Projecte1 serà Projecte1.exe, Projecte1.dll, Projecte1.lib, Projecte1.obj o Projecte1.sys, depenent del tipus de projecte. Si voleu programar un Driver NT clàssic (sys), llegiu atentament Programació de controladors NT (drivers).

Quan es crea un projecte clàssic nou, l'Easy Code afegeix automàticament un mòdul. Podeu afegir tants mòduls (nous o existents) com vulgueu, utilitzant els següents menús:

Projecte-->Afegeix un Mòdul
Projecte-->Afegeix un fitxer existent

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.

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.