The Anatomy of a Delphi Unit (for nybegynnere)

click fraud protection

Hvis du planlegger å være en god Delphi-programmerer enn ord som "grensesnitt", "implementering" og "bruker" trenger å ha en spesiell plass i programmeringskunnskapen din.

Delphi-prosjekter

Når vi oppretter en Delphi-applikasjon, kan vi starte med et blankt prosjekt, et eksisterende prosjekt eller en av Delphis søknads- eller skjemamaler. Et prosjekt består av alle filene som trengs for å lage vår målapplikasjon.

Dialogboksen som dukker opp når vi velger View-Project Manager, lar oss få tilgang til skjemaet og enhetene i prosjektet vårt.

Et prosjekt består av en enkelt prosjektfil (.dpr) som viser alle skjemaene og enhetene i prosjektet. Vi kan se på og til og med redigere Prosjektfil (la oss kalle det a Prosjektenhet) ved å velge View - Project Source. Fordi Delphi vedlikeholder prosjektfilen, bør vi normalt ikke trenge å endre den manuelt, og generelt anbefales det ikke at uerfarne programmerere gjør det.

Delphi-enheter

Som vi vet nå, er skjemaer en synlig del av de fleste Delphi-prosjekter. Hver form i et Delphi-prosjekt har også en tilknyttet enhet. Enheten inneholder kildekoden for eventhåndterere som er knyttet til hendelsene i skjemaet eller komponentene den inneholder.

instagram viewer

Siden enheter lagrer koden for prosjektet ditt, er enhetene grunnleggende for Delphi-programmering. Generelt sett er enhet en samling av konstanter, variabler, datatyper og prosedyrer og funksjoner som kan deles av flere applikasjoner.

Hver gang vi oppretter en ny form (.dfm-fil) oppretter Delphi automatisk den tilknyttede enheten (.pas-filen) la oss kalle den a Form enhet. Enheter trenger ikke å være assosiert med skjemaer. EN Kodenhet inneholder kode som blir kalt fra andre enheter i prosjektet. Når du begynner å bygge biblioteker med nyttige rutiner, vil du sannsynligvis lagre dem i en kodeenhet. Hvis du vil legge til en ny kodeenhet til Delphi-applikasjonen, velger du File-New... Enhet.

Anatomi

Hver gang vi oppretter en enhet (skjema eller kodeenhet) legger Delphi til følgende kodeseksjoner automatisk: enhetsoverskrift, grensesnitt seksjon, gjennomføring seksjon. Det er også to valgfrie seksjoner: initialisering og sluttføring.

Som du vil se, må enheter være i et forhåndsdefinert format slik at kompilatoren kan lese dem og kompilere enhetens kode.

De enhetsoverskrift starter med det reserverte ordet enhet, etterfulgt av enhetens navn. Vi må bruke enhetens navn når vi viser til enheten i bruksbestemmelsen til en annen enhet.

Grensesnitt seksjon

Denne delen inneholder bruker klausul som viser de andre enhetene (kode- eller skjemaenheter) som skal brukes av enheten. I tilfelle av skjemaenheter legger Delphi automatisk standardenheter som Windows, Meldinger osv. Når du legger til nye komponenter i et skjema, legger Delphi de aktuelle navnene til brukerlisten. Delphi legger imidlertid ikke en bruksbestemmelse til grensesnittdelen av kodeenheter - vi må gjøre det manuelt.

I enhetsgrensesnittet kan vi erklære global konstanter, datatyper, variabler, prosedyrer og funksjoner.

Vær oppmerksom på at Delphi bygger en skjemeenhet for deg når du designer et skjema. Formdatatypen, skjemavariabelen som oppretter en forekomst av skjemaet, og hendelsesbehandlerne deklareres i grensesnittdelen.

Fordi det ikke er behov for å synkronisere koden i kodenheter med et tilknyttet skjema, opprettholder ikke Delphi kodenheten for deg.

Grensesnitt seksjon slutter ved det reserverte ordet gjennomføring.

Implementeringsseksjon

De gjennomføring del av en enhet er delen som inneholder den faktiske koden for enheten. Implementeringen kan ha ytterligere egne erklæringer, selv om disse deklarasjonene ikke er tilgjengelige for andre applikasjoner eller enheter. Eventuelle Delphi-objekter som er erklært her, vil bare være tilgjengelige for kode i enheten (global til enhet). En valgfri bruksklausul kan vises i implementeringsdelen og må umiddelbart følge implementeringsnøkkelordet.

Seksjoner om initialisering og sluttføring

Disse to seksjonene er valgfrie; de genereres ikke automatisk når du oppretter en enhet. Hvis du vil Initial alle data enheten bruker, kan du legge til en initialiseringskode i initialiseringsdelen av enheten. Når en applikasjon bruker en enhet, blir koden i enhetens initialiseringsdel kalt før den andre applikasjonskoden kjøres.

Hvis enheten din trenger å utføre noen opprydding når applikasjonen avsluttes, for eksempel å frigjøre ressurser som er tildelt i initialiseringsdelen; du kan legge til en sluttføring seksjonen til enheten din. Avslutningsdelen kommer etter initialiseringsdelen, men før den endelige slutten.

instagram story viewer