De anatomie van een Delphi-eenheid (voor beginners)

Als je van plan bent goed te zijn Delphi programmeur dan woorden als "interface", "implementatie" en "gebruik" moeten een speciale plaats hebben in uw programmeerkennis.

Delphi Projects

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

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

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

instagram viewer

Delphi Units

Zoals we inmiddels weten, vormen formulieren een zichtbaar onderdeel van de meeste Delphi-projecten. Elk formulier in een Delphi-project heeft ook een bijbehorende eenheid. De eenheid bevat de broncode voor 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 unit een verzameling constanten, variabelen, gegevenstypen en procedures en functies die door verschillende applicaties kunnen worden gedeeld.

Elke keer dat we een maken nieuw formulier (.dfm-bestand), Delphi maakt automatisch de bijbehorende eenheid (.pas-bestand), laten we het een noemen Form Unit. Eenheden hoeven echter niet te worden gekoppeld aan formulieren. EEN Code-eenheid bevat code die wordt aangeroepen vanuit andere units in het project. Wanneer u begint met het bouwen van bibliotheken met nuttige routines, slaat u ze waarschijnlijk op in een code-eenheid. Om een ​​nieuwe code-eenheid aan de Delphi-applicatie toe te voegen, kiest u Bestand-Nieuw... Eenheid.

Anatomie

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

Zoals je zult zien, moeten eenheden in een voorgedefinieerd formaat zodat de compiler ze kan lezen en de code van de eenheid 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 die de andere eenheden (code of formuliereenheden) vermeldt die door de eenheid zullen worden gebruikt. In het geval van formuliereenheden voegt Delphi automatisch de standaardeenheden toe, zoals Windows, Berichten, enz. Terwijl u nieuwe componenten aan een formulier toevoegt, voegt Delphi de juiste namen toe aan de gebruikslijst. Delphi voegt echter geen gebruiksclausule toe aan het interfacegedeelte van code-eenheden - dat moeten we handmatig doen.

In de unit interface sectie kunnen we 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 formuliergegevenstype, de formuliervariabele die een instantie van het formulier maakt en de eventhandlers worden gedeclareerd in het interfacegedeelte.

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 op 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 niet toegankelijk zijn voor een andere toepassing of eenheid. Alle Delphi-objecten die hier worden gedeclareerd, zijn alleen beschikbaar om te coderen binnen de eenheid (globaal naar eenheid). Een optionele gebruiksclausule kan in het implementatiegedeelte verschijnen en moet onmiddellijk het implementatiesleutelwoord volgen.

Initialisatie- en afrondingssecties

Deze twee secties zijn optioneel; ze worden niet automatisch gegenereerd wanneer u een eenheid maakt. Als je wilt initialiseren alle gegevens die het apparaat gebruikt, kunt u een initialisatiecode toevoegen aan het initialisatie-gedeelte 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 een schoonmaakbeurt moet uitvoeren 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 afrondingssectie komt na de initialisatiesectie, maar vóór het definitieve einde.

instagram story viewer