Anatomie van een Delphi-eenheid (Delphi voor beginners)

Als je van plan bent een goede Delphi-programmeur te zijn, moeten woorden als "interface", "implementatie" en "gebruikt" een speciale plaats hebben in je programmeerkennis.

Delphi Projects

Wanneer we een Delphi-applicatie maken, kunnen we beginnen met een leeg project, een bestaand project of een van de applicatie- of formuliersjablonen van Delphi. Een project bestaat uit alle bestanden die nodig zijn om onze doeltoepassing te maken. 

Het dialoogvenster dat verschijnt wanneer we View-Project Manager kiezen, geeft ons toegang tot het formulier en de eenheden in ons project. 

Een project bestaat uit een enkel projectbestand (.dpr) dat alle formulieren en eenheden in het project weergeeft. We kunnen het projectbestand bekijken en zelfs bewerken (laten we het een noemen Projecteenheid) door Beeld - Projectbron te kiezen. Omdat Delphi het projectbestand onderhoudt, is het normaal gesproken niet nodig om het handmatig te wijzigen, en in het algemeen wordt het niet aanbevolen voor onervaren programmeurs om dit te doen.

Delphi-eenheden

Zoals we inmiddels weten, vormen formulieren een zichtbaar onderdeel van de meeste Delphi-projecten. Elke vorm in een Delphi-project heeft ook een bijbehorende eenheid. De eenheid bevat de broncode voor alle event-handlers die zijn gekoppeld aan de events van het formulier of de componenten die het bevat.

Aangezien eenheden de code voor uw project opslaan, zijn eenheden de basis van Delphi-programmering. Over het algemeen is een eenheid een verzameling constanten, variabelen, gegevenstypen en procedures en functies die door verschillende toepassingen kunnen worden gedeeld.

Telkens wanneer we een nieuw formulier (.dfm-bestand) maken, maakt Delphi automatisch de bijbehorende eenheid (.pas-bestand), laten we het een Formuliereenheid. Eenheden hoeven echter niet te worden gekoppeld aan formulieren. EEN Code-eenheid bevat code die wordt aangeroepen vanuit andere eenheden in het project. Wanneer u begint met het bouwen van bibliotheken met nuttige routines, zult u ze waarschijnlijk opslaan in een code-eenheid. Om een ​​nieuwe code-eenheid toe te voegen aan de Delphi-toepassing, kies Bestand-Nieuw ... Eenheid.

Anatomie

Wanneer we een eenheid maken (formulier- of code-eenheid) voegt Delphi automatisch de volgende codesecties toe: koptekst van de eenheid, koppel sectie, implementatie sectie. Er zijn ook twee optionele secties: initialisatie en afronding.

Zoals u zult zien, moeten eenheden in een voorgedefinieerde formaat zodat de compiler ze kan lezen en de code van het apparaat kan compileren.

De unit header begint met het gereserveerde woord eenheid, gevolgd door de naam van het apparaat. We moeten de naam van de eenheid gebruiken wanneer we naar de eenheid verwijzen in de gebruiksclausule van een andere eenheid.

Interface sectie

Deze sectie bevat de toepassingen clausule met de andere eenheden (code- of formuliereenheden) die door de eenheid zullen worden gebruikt. In het geval van formuliereenheden voegt Delphi automatisch de standaardeenheden zoals Windows, Berichten, etc. toe. Terwijl u nieuwe componenten aan een formulier toevoegt, voegt Delphi de juiste namen toe aan de lijst met toepassingen. Delphi voegt echter geen gebruiksclausule toe aan het interface-gedeelte van code-eenheden - dat moeten we handmatig doen.

In het gedeelte over de interface van de unit kunnen we dit aangeven globaal constanten, gegevenstypen, variabelen, procedures en functies.

Houd er rekening mee dat Delphi een formuliereenheid voor u bouwt terwijl u een formulier ontwerpt. Het gegevenstype van het formulier, de formuliervariabele die een instantie van het formulier maakt en de gebeurtenishandlers worden gedeclareerd in het interface-gedeelte. 

Omdat het niet nodig is om de code in code-eenheden te synchroniseren met een bijbehorend formulier, onderhoudt Delphi de code-eenheid niet voor u.

Interface sectie eindigt bij het gereserveerde woord implementatie.

Implementatie sectie

De implementatie sectie van een eenheid is de sectie die de daadwerkelijke code voor de eenheid bevat. De implementatie kan eigen aanvullende verklaringen hebben, hoewel deze verklaringen voor geen enkele andere toepassing of eenheid toegankelijk zijn. Alle Delphi-objecten die hier worden gedeclareerd, zouden alleen beschikbaar zijn voor code binnen de eenheid (globaal tot eenheid). Een optionele gebruiksclausule kan in het implementatiedeel verschijnen en moet onmiddellijk het implementatiewoordwoord volgen.

Onderdelen voor initialisatie en afronding

Deze twee secties zijn optioneel; ze worden niet automatisch gegenereerd wanneer u een eenheid maakt. Als je wilt initialize alle gegevens die het apparaat gebruikt, kunt u een initialisatiecode toevoegen aan het initialisatiegedeelte van het apparaat. Wanneer een toepassing een eenheid gebruikt, wordt de code binnen het initialisatiegedeelte van de eenheid aangeroepen voordat de andere toepassingscode wordt uitgevoerd. 

Als uw eenheid moet worden opgeschoond wanneer de toepassing wordt beëindigd, zoals het vrijmaken van middelen die zijn toegewezen in het initialisatiegedeelte; u kunt een toevoegen afronding sectie naar uw eenheid. De laatste sectie komt na de eerste sectie, maar vóór het definitieve einde.