Anatomy of a Delphi Unit (for begyndere)

click fraud protection

Hvis du planlægger at være en god Delphi-programmør end ord som "interface", "implementering" og "bruger" skal have en særlig plads i din programmeringsviden.

Delphi-projekter

Når vi opretter en Delphi-applikation, kan vi starte med et tomt projekt, et eksisterende projekt eller en af ​​Delphis applikations- eller formularskabeloner. Et projekt består af alle de filer, der er nødvendige for at oprette vores målapplikation.

Dialogboksen, der vises, når vi vælger View-Project Manager, giver os mulighed for at få adgang til form og enheder i vores projekt.

Et projekt består af en enkelt projektfil (.dpr), der viser alle former og enheder i projektet. Vi kan se på og endda redigere Projektfil (lad os kalde det a Projektenhed) ved at vælge Vis - Projektkilde. Fordi Delphi vedligeholder projektfilen, skal vi normalt ikke have behov for at ændre den manuelt, og generelt anbefales det ikke for uerfarne programmerere at gøre det.

Delphi-enheder

Som vi ved nu, er formularer en synlig del af de fleste Delphi-projekter. Hver form i et Delphi-projekt har også en tilknyttet enhed. Enheden indeholder kildekoden for alle begivenhedshåndterere, der er knyttet til begivenhederne i formularen eller de komponenter, den indeholder.

instagram viewer

Da enheder gemmer koden til dit projekt, er enhederne grundlæggende i Delphi-programmering. Generelt er enhed en samling af konstanter, variabler, datatyper og procedurer og funktioner, der kan deles af flere applikationer.

Hver gang vi opretter en ny form (.dfm-fil) opretter Delphi automatisk den tilknyttede enhed (.pas-fil) lad os kalde den a Form enhed. Enheder behøver dog ikke være tilknyttet formularer. EN Kodeenhed indeholder kode, der kaldes fra andre enheder i projektet. Når du begynder at opbygge biblioteker med nyttige rutiner, vil du sandsynligvis gemme dem i en kodeenhed. For at tilføje en ny kodeenhed til Delphi-applikationen skal du vælge File-New... Enhed.

Anatomi

Hver gang vi opretter en enhed (form eller kodeenhed) tilføjer Delphi automatisk følgende kodesektioner: enhedsoverskrift, grænseflade afsnit, implementering afsnit. Der er også to valgfrie sektioner: initialisering og færdiggørelse.

Som du vil se, skal enheder være i en foruddefineret format, så kompilatoren kan læse dem og kompilere enhedens kode.

Det enhedsoverskrift starter med det reserverede ord enhed, efterfulgt af enhedens navn. Vi er nødt til at bruge enhedens navn, når vi henviser til enheden i brugsklausulen for en anden enhed.

Interfaceafsnit

Dette afsnit indeholder anvendelser klausul, der viser de andre enheder (kode- eller formularenheder), der vil blive brugt af enheden. I tilfælde af formenheder tilføjer Delphi automatisk standardenhederne såsom Windows, meddelelser osv. Når du tilføjer nye komponenter til en formular, tilføjer Delphi de relevante navne til brugslisten. Delphi tilføjer dog ikke en brugsklausul til grænsefladedelen af ​​kodeenheder - det skal vi gøre manuelt.

I afsnittet om enhedsgrænseflade kan vi erklære det global konstanter, datatyper, variabler, procedurer og funktioner.

Vær opmærksom på, at Delphi bygger en formularenhed til dig, når du designer en formular. Formdatatypen, formvariablen, der opretter en forekomst af formularen, og begivenhedshåndtererne er deklareret i interface-delen.

Da der ikke er behov for at synkronisere koden i kodenheder med en tilknyttet form, vedligeholder Delphi ikke kodenheden for dig.

Interfaceafsnit slutter ved det reserverede ord implementering.

Implementeringsafsnit

Det implementering sektion af en enhed er det afsnit, der indeholder den faktiske kode for enheden. Implementeringen kan have yderligere egne erklæringer, selvom disse erklæringer ikke er tilgængelige for nogen anden applikation eller enhed. Eventuelle Delphi-genstande, der er erklæret her, er kun tilgængelige til kode inden for enheden (global til enhed). En valgfri brugsklausul kan vises i implementeringsdelen og skal straks følge implementeringsnøgleordet.

Sektioner om initialisering og færdiggørelse

Disse to sektioner er valgfri; de genereres ikke automatisk, når du opretter en enhed. Hvis du vil initialisere alle data, enheden bruger, kan du tilføje en initialiseringskode til initialiseringsafsnittet på enheden. Når en applikation bruger en enhed, kaldes koden inden for enhedens initialiseringsdel inden den anden applikationskode kører.

Hvis din enhed skal udføre en oprydning, når applikationen afsluttes, f.eks. Frigør ressourcer, der er tildelt i initialiseringsdelen; du kan tilføje en færdiggørelse sektion til din enhed. Afslutningsafsnittet kommer efter initialiseringsafsnittet, men inden den endelige afslutning.

instagram story viewer