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.
Molto chiaro! Grazie davvero per avermi delucidato un po di cose tra l'altro molto interessanti e utili... visiterò i tuoi articoli appena posso

Ancora grazie e Buona Domenica