Visual Basic .NET Componenten

Vroeger...
- Vroeger (wel, in de Visual Basic 5 / 6 wereld) waren componenten zichtbaar
(OCX, ActiveX controls) of onzichtbaar (DLL of EXE, ActiveX klassen).
Tijdens de compilatie of de oinstallatie (of het eerste gebruik in Visual Basic) werden ze
geregistreerd in de registry.
- Het programma kon tijdens de uitvoering in de registry lezen waar het bestand in kwestie
te vinden was.
- Probleem was dat componenten met dezelfde naam een andere versie konden hebben, en een
andere functionaliteit. Op die manier gaan ineens sommige programma's niet meer werken,
omdat er een component niet meer doet wat het programma verwacht.
... en nu
- De .NET componenten heten assemblies. Zo'n assembly is een fysische
verzameling van bestanden. Ze bevat de identificatie van de assembly (met onder meer het
versienummer, de taalcode en de URL waar de assembly kan gedownload worden). Een programma
moet niet meer in de registry op zoek naar een component met een bepaalde naam, maar zoekt
naar een assembly met een een bepaald versienummer en een bepaalde taalcode, en gaat de
assembly automatisch downloaden indien ze niet gevonden worden.
- Er moet dus ook niet meer geïnstalleerd worden: het volstaat een bestand te kopiëren.
Dat vereenvoudigt merkbaar het werk.
- Verschillende versies van assemblies kunnen probleemloos naast elkaar bestaan.
- Belangrijke vernieuwing: je kan componenten gebruiken die op internet ter beschikking
staan van de programmeurs. Op die manier kan je gebruik maken van webservices, en gegevens
van verschillende sites integreren in één enkele interface (Windows-applicatie of
website). References, Add Webreference - en kies uit de UDDI lijst de component die je wil
gebruiken.
In
Visual Basic Express Edition 2008 gaat dat met rechtsklikken op
References, Add Service Reference. een nuttige site om die webservice
te vinden is WebserviceX. Maar je kan ook webservices gebruiken die niet in .NET zijn geschreven.
- Je kan in Visual Studio ook zelf een webservice aanmaken, maar dat valt buiten het
bereik van deze site.
Oud en nieuw
Oud en nieuw kunnen echter wel samenwerken: je kan een COM component (ActiveX control)
gebruiken in een .NET programma, of een .NET assembly in een VB 5/6 programma.
- Een .NET programma dat een COM component wil gebruiken, moet die COM component vinden.
Daarvoor kan Visual Studio je een wrapper aanmaken (References, Add Reference, COM).
Op die manier is het alsof die COM component een .NET assembly is.
- Om een .NET assembly in een VB5/6 programma te gebruiken, moet je die assembly
registreren. Op die manier kan VB 5/6 die component vinden.
[VB Web] - [VB.NET] - [hlrnet] - [copyright]