Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De Visual Basic-compiler voert een proces uit dat wordt aangeroepen binding
wanneer een object wordt toegewezen aan een objectvariabele. Een object is vroeg gebonden wanneer het wordt toegewezen aan een variabele die is gedeclareerd als van een specifiek objecttype. Met vroeg gebonden objecten kan de compiler geheugen toewijzen en andere optimalisaties uitvoeren voordat een toepassing wordt uitgevoerd. Het volgende codefragment declareert bijvoorbeeld een variabele van het type FileStream:
' Create a variable to hold a new object.
Dim FS As System.IO.FileStream
' Assign a new object to the variable.
FS = New System.IO.FileStream("C:\tmp.txt",
System.IO.FileMode.Open)
Omdat FileStream een specifiek objecttype is, wordt het aan FS
toegewezen exemplaar vroeg gebonden.
Een object is daarentegen te laat gebonden wanneer het wordt toegewezen aan een variabele die als type Object
is gedeclareerd. Objecten van dit type kunnen verwijzingen bevatten naar elk object, maar hebben niet veel van de voordelen van vroeggebonden objecten. Met het volgende codefragment wordt bijvoorbeeld een objectvariabele gedeclareerd voor het opslaan van een object dat wordt geretourneerd door de CreateObject
functie:
' To use this example, you must have Microsoft Excel installed on your computer.
' Compile with Option Strict Off to allow late binding.
Sub TestLateBinding()
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
xlApp = CreateObject("Excel.Application")
' Late bind an instance of an Excel workbook.
xlBook = xlApp.Workbooks.Add
' Late bind an instance of an Excel worksheet.
xlSheet = xlBook.Worksheets(1)
xlSheet.Activate()
' Show the application.
xlSheet.Application.Visible = True
' Place some text in the second row of the sheet.
xlSheet.Cells(2, 2) = "This is column B row 2"
End Sub
Voordelen van vroege binding
U moet indien mogelijk vroege afhankelijke objecten gebruiken, omdat ze de compiler in staat stellen belangrijke optimalisaties te maken die efficiƫntere toepassingen opleveren. Vroeggebonden objecten zijn aanzienlijk sneller dan laat gebonden objecten en zorgen ervoor dat uw code gemakkelijker te lezen en te onderhouden is door precies aan te geven wat voor soort objecten er worden gebruikt. Een ander voordeel van vroege binding is dat het nuttige functies mogelijk maakt, zoals automatische voltooiing van code en Dynamische Help, omdat de IDE (Integrated Development Environment) van Visual Studio precies kan bepalen met welk type object u werkt terwijl u de code bewerkt. Vroege binding vermindert het aantal en de ernst van runtimefouten, omdat hiermee de compiler fouten kan rapporteren wanneer een programma wordt gecompileerd.
Opmerking
Late binding kan alleen worden gebruikt voor toegang tot type leden die zijn gedeclareerd als Public
. Het openen van leden die zijn gedeclareerd als Friend
of Protected Friend
leidt tot een runtimefout.