Originariamente inviato da gibra
Il CreateObject() è una modalità di utilizzo di una libreria chiamata late-binding (associazione tardiva) ed ha i suoi vantaggi/svantaggi. In genere va utilizzata quando non è possibile usare l'early-binding (associazione preventiva) ovvero quando non si è certi che la versione installata nel PC corrisponda a quella utilizzata dallo sviluppatore.
Per chi deve utilizzare un oggetto almeno all'inizio (come te) deve poter usufruire dell'intellisense (hai presente quando digiti il punto dopo il nome di un oggetto e VB ti elenca proprietà e metodi dell'oggetto? Esempio
Form1. ) cosa che puoi avere solo se crei un riferimento diretto alla libreria.
Comunque c'è un modo per utilizzare entrambi:
- l'early-binding in fase di progettazione
- il late-binding in fase di esecuzione del programma eseguibile.
Puoi vedere i miei articoli con progetto di esempio qui:
VB6 - Early-Late Binding con Outlook
http://nuke.vbcorner.net/Articoli/VB...T/Default.aspx
VB.NET 2010 - Early-Late Binding in VB.NET + Excel
http://nuke.vbcorner.net/Progetti/NE...T/Default.aspx
Ma con ADODB preferisco sempre utilizzare il riferimento diretto.
La sola accortezza è che se si sviluppano applicazioni che devono girare anche su Windows 2000 (nelle aziende è ancora molto presente) allora basta usare la versione 2.5 invece della 2.8, oppure (come faccio io) si aggiunge il setup dell'MDAC 2.8, fornito da Microsoft, nell'installazione della tua applicazione.