Delphi üksuse anatoomia (algajatele)

Kui plaanite olla hea Delphi programmeerija kui sellistel sõnadel nagu "liides", "rakendamine" ja "kasutamine" peab teie programmeerimise teadmistes olema eriline koht.

Delphi projektid

Delphi rakenduse loomisel võime alustada tühja projekti, olemasoleva projekti või ühe Delphi rakenduse- või vormimalliga. Projekt koosneb kõigist failidest, mis on vajalikud meie sihtrakenduse loomiseks.

Dialoogiboks, mis avaneb, kui valime View-Project Manager, võimaldab meil pääseda juurde meie projekti vormile ja ühikutele.

Projekt koosneb ühest projektifailist (.dpr), mis loetleb kõik projekti vormid ja üksused. Saame vaadata ja isegi redigeerida Projektitoimik (nimetagem seda a Projektiüksus), valides Vaade - projekti allikas. Kuna Delphi hooldab projektifaili, ei peaks me tavaliselt seda käsitsi muutma ja üldiselt pole kogenematutele programmeerijatele soovitatav seda teha.

Delphi ühikud

Nagu me nüüd teame, on vormid enamiku Delphi projektide nähtav osa. Delphi projekti igal vormil on ka seotud üksus. Ühik sisaldab kõigi sündmuste käitlejate lähtekoodi, mis on lisatud vormi või selles sisalduvate komponentide sündmustele.

instagram viewer

Kuna ühikud salvestavad teie projekti koodi, on ühikud järgmised Delphi programmeerimise põhialused. Üldiselt on seade konstandite, muutujate, andmetüüpide ning protseduuride ja funktsioonide kogum, mida saab jagada mitme rakenduse vahel.

Iga kord, kui loome uus vorm (.dfm-fail), loob Delphi automaatselt sellega seotud üksuse (.pas-fail), nimetagem seda a-ks Vormiüksus. Kuid üksusi ei pea vormidega seostama. A Koodi ühik sisaldab koodi, mida kutsutakse projekti teistest üksustest. Kui alustate kasulike rutiinide raamatukogude loomist, salvestate need tõenäoliselt koodiploki. Delphi rakendusse uue koodimooduli lisamiseks valige File-New... Ühik.

Anatoomia

Kui loome ühiku (vormi või koodi ühiku), lisab Delphi automaatselt järgmised koodilõigud: ühiku päis, liides sektsioon, rakendamine sektsiooni. Samuti on kaks valikulist jaotist: initsialiseerimine ja lõpuleviimine.

Nagu näete, peavad ühikud asuma a-s ettemääratletud vormingus, nii et kompilaator saaks neid lugeda ja ühiku koodi koostada.

ühiku päis algab reserveeritud sõnaga ühik, millele järgneb üksuse nimi. Peame kasutama üksuse nime, kui viitame üksusele teise üksuse kasutusklauslis.

Liidese sektsioon

Selles jaotises on kasutab klausel, mis loetleb muud ühikud (koodi või vormi ühikud), mida üksus kasutab. Vormiühikute korral lisab Delphi automaatselt standardüksused, nagu Windows, Sõnumid jne. Kui lisate vormile uusi komponente, lisab Delphi kasutusloendisse sobivad nimed. Delphi ei lisa aga koodisõlmede liidese osasse kasutusklauslit - seda peame tegema käsitsi.

Üksuse liidese jaotises saame deklareerida globaalne konstandid, andmetüübid, muutujad, protseduurid ja funktsioonid.

Pidage meeles, et vormi kujundamisel ehitab Delphi teile vormiühiku. Vormi andmetüüp, vormi muutuja, mis loob vormi esinemisjuhu, ja sündmuste käitlejad deklareeritakse liidese osas.

Kuna koodiüksustes koodi ei ole vaja sünkroonida seotud vormiga, ei hoolda Delphi teie jaoks koodiüksust.

Liidese osa lõpeb reserveeritud sõnaga rakendamine.

Rakendusosakond

rakendamine üksuse sektsioon on sektsioon, mis sisaldab üksuse tegelikku koodi. Rakendusel võivad olla omaette täiendavad deklaratsioonid, ehkki need deklaratsioonid pole ühegi teise rakenduse või üksuse jaoks juurdepääsetavad. Kõik siin deklareeritud Delphi-objektid on saadaval ainult ühikusisesteks koodideks (globaalsed ühikuks). Valikulise kasutamise klausel võib ilmneda rakendusosas ja see peab kohe järgima rakenduse märksõna.

Initsialiseerimise ja lõpetamise sektsioonid

Need kaks sektsiooni on valikulised; neid ei genereerita ühiku loomisel automaatselt. Kui sa tahad lähtestama mis tahes andmeid, mida üksus kasutab, saate lisada seadme lähtestamissektsiooni initsialiseerimiskoodi. Kui rakendus kasutab ühikut, kutsutakse üksuse initsialiseerimisosas olev kood enne muu rakenduse koodi käivitamist.

Kui teie üksus peab rakenduse lõppedes tegema mis tahes puhastust, näiteks vabastama kõik initsialiseerimisosas eraldatud ressursid; saate lisada a lõpuleviimine sektsiooni oma üksuse juurde. Lõpetamise jaotis tuleb pärast initsialiseerimisjaotist, kuid enne lõplikku lõppu.