Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Kompilátor jazyka Visual Basic provádí proces, který se volá binding , když je objekt přiřazen k proměnné objektu. Objekt je v rané fázi svázaný , když je přiřazen k proměnné deklarované jako konkrétní typ objektu. Objekty s časnou vazbou umožňují kompilátoru přidělit paměť a provést další optimalizace před spuštěním aplikace. Například následující fragment kódu deklaruje proměnnou typu 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)
Vzhledem k tomu, že FileStream je konkrétní typ objektu, je instance přiřazená FS vázána staticky.
Naproti tomu objekt je pozdně vázaný, když je přiřazen k proměnné deklarované jako typ Object. Objekty tohoto typu mohou obsahovat odkazy na libovolný objekt, ale postrádají mnoho výhod staticky vázaných objektů. Například následující fragment kódu deklaruje proměnnou objektu, která bude obsahovat objekt vrácený CreateObject funkcí:
' 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
Výhody včasné vazby
Pokud je to možné, měli byste použít objekty s časnou vazbou, protože umožňují kompilátoru provádět důležité optimalizace, které poskytují efektivnější aplikace. Objekty s časnou vazbou jsou výrazně rychlejší než objekty s pozdní vazbou a usnadňují čtení a údržbu kódu díky přesnému typu objektů, které se používají. Další výhodou prvotní vazby je, že umožňuje užitečné funkce, jako je automatické dokončování kódu a dynamická nápověda, protože integrované vývojové prostředí (IDE) sady Visual Studio dokáže přesně určit, s jakým typem objektu při úpravách kódu pracujete. Časná vazba snižuje počet a závažnost chyb za běhu, protože kompilátoru umožňuje hlásit chyby při kompilaci programu.
Poznámka:
Pozdní vazby lze použít pouze pro přístup k členům typu, které jsou deklarovány jako Public. Přístup k členům deklarovaným jako Friend nebo Protected Friend má za následek chybu za běhu.