Declare, instructie

       

Gebruik deze instructie op moduleniveau voor het declareren van verwijzingen naar externe procedures in een DLL (Dynamic-Link Library).

Syntaxis 1

[Public | Private] Declare Sub naam Lib "bibliotheek" [Alias "aliasnaam"] [([argumenten])]

Syntaxis 2

[Public | Private] Declare Function naam Lib "bibliotheek" [Alias "aliasnaam"] [([argumenten])] [As type]

De syntaxis van de instructie Declare bevat de volgende onderdelen:

Onderdeel Beschrijving
Public Optioneel. Hiermee declareert u procedures die beschikbaar zijn voor alle andere procedures in alle modules.
Private Optioneel. Hiermee declareert u procedures die alleen beschikbaar zijn in de module waarin de instructie werd ingesteld.
Sub Optioneel (Sub of Function moet verschijnen). Geeft aan dat de procedure geen resultaatwaarde geeft.
Functie Optioneel (Sub of Function moet verschijnen). Geeft aan dat de procedure een resultaatwaarde geeft die u in een expressie kunt gebruiken.
naam Vereist. Een willekeurige geldige naam van een procedure. Let erop dat DLL's met de juiste hoofdletters/kleine letters worden ingevoerd.
Lib Vereist. Geeft aan dat een DLL of programmacodebron de procedure bevat die u declareert. De component Lib is vereist voor alle declaraties.
biblnaam Vereist. De naam van de DLL of de programmacodebron die de gedeclareerde procedure bevat.
Alias Optioneel. Geeft aan dat de opgeroepen procedure een andere naam heeft in de DLL. Dit is handig als de naam van de externe procedure identiek is aan een sleutelwoord. U kunt Alias ook gebruiken als een DLL-procedure dezelfde naam heeft als een openbare variabele, een constante of een willekeurig andere procedure in hetzelfde bereik. Het onderdeel Alias is ook handig als bepaalde tekens in de DLL-procedure niet zijn toegestaan in namen.
aliasnaam Optioneel. Naam van de procedure in de DLL of de programmacodebron. Als het eerste teken geen hekje (#) is, is aliasnaam de naam van de ingang van de procedure in de DLL. Als het hekje (#) wel het eerste teken is, moeten alle tekens die volgen, het rangtelnummer van de ingang van de procedure aangeven.
argumenten Optioneel. Lijst van variabelen die argumenten aangeven die aan de procedure worden doorgegeven wanneer deze wordt opgeroepen.
type Optioneel. Het gegevenstype van de waarde die als resultaat wordt gegeven door een procedure Function. De volgende typen zijn geldig: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (momenteel niet ondersteund), Date, String (uitsluitend met variabele lengte) of Variant, een door de gebruiker gedefinieerd type of een objecttype.

Het argument argumenten bevat de volgende syntaxis en onderdelen:

[Optional] [ByVal | ByRef] [ParamArray] varnaam[( )] [As type]

Onderdeel Beschrijving
Optional Optioneel. Geeft aan dat een argument niet nodig is. Als u dit sleutelwoord gebruikt, moeten alle volgende argumenten in argumenten ook optioneel zijn en worden gedeclareerd met het sleutelwoord Optional. U kunt Optional niet gebruiken voor een argument als u gebruik maakt van het argument ParamArray.
ByVal Optioneel. Geeft aan dat het argument via een waarde wordt doorgegeven.
ByRef Geeft aan dat het argument via een verwijzing wordt doorgegeven. De standaardinstelling in Visual Basic is ByRef.
ParamArray Optioneel. Wordt alleen gebruikt als laatste argument in argumenten om aan te geven dat het laatste argument een Optional matrix is met onderdelen van het type Variant. Met het sleutelwoord ParamArray kunt u een willekeurig aantal argumenten opnemen. U mag ParamArray niet gebruiken met de sleutelwoorden ByVal, ByRef of Optional.
Varnaam Vereist. De naam van de variabele die het argument aangeeft dat aan de procedure wordt doorgegeven. Hiervoor gelden de standaardregels voor naamgeving van een variabele.
( ) Vereist voor matrixvariabelen. Geeft aan dat varnaam een matrix is.
type Optioneel. Het gegevenstype van het argument dat wordt doorgegeven aan de procedure. De volgende typen zijn geldig: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (momenteel niet ondersteund), Date, String (uitsluitend met variabele lengte), Object, Variant, een door de gebruiker gedefinieerd type of een objecttype.

Notities

Voor een procedure Function bepaalt het gegevenstype van de procedure het gegevenstype van het resultaat. Plaats een component As achter argumenten om het resultaattype voor de functie op te geven. In argumenten kunt u met een component As het gegevenstype opgegeven van elk van de argumenten die aan de procedure worden doorgegeven. Naast het opgeven van de standaardgegevenstypen kunt u As Any opgeven in argumenten om controle van gegevenstypen te voorkomen en ervoor te zorgen dat elk gegevenstype aan de procedure kan worden doorgegeven.

Lege haakjes geven aan dat de procedure Sub of Function geen argumenten bevat en dat Visual Basic ervoor zorgt dat geen argumenten worden doorgegeven. In het volgende voorbeeld zijn voor Eerste geen argumenten ingesteld. Als u argumenten gebruikt om Eerste aan te roepen, treedt er een fout op:

Declare Sub Eerste Lib "MijnBieb" ()

Als u een argumentenlijst opneemt, wordt het aantal en type argumenten telkens gecontroleerd wanneer u de procedure start. In het volgende voorbeeld is voor Eerste ΘΘn argument Long opgegeven:

Declare Sub Eerste Lib "MijnBieb" (X As Long)

Opmerking   Tekenreeksen met vaste lengte zijn niet toegestaan in de argumentenlijst van de instructie Declare omdat u alleen tekenreeksen met variabele lengte aan procedures kunt doorgeven. U kunt tekenreeksen met vaste lengte wel gebruiken als procedureargumenten, maar deze worden omgezet in tekenreeksen met variabele lengte voordat ze worden doorgegeven.

Opmerking   De constante vbNullString wordt gebruikt bij het oproepen van externe procedures die een tekenreeks met een nulwaarde vereisen. Dit is niet hetzelfde als een tekenreeks met een lengte nul ("").