PregoOriginariamente inviato da darkuss
Davvero grazie gibra...!!! ho seguito le tue istruzioni e tutto funziona alla grande! Mi è stato d'aiuto,![]()
Sì, gli oggetti vanno PRIMA dichiarati, POI istanziati ed infine distrutti quando non servono più, quindi:Originariamente inviato da darkuss
volevo solo avere conferma per quanto riguarda l'istruzione CreateObject() ho usato la clausura set CN = New ADODDB.Connection . E' questo il modo consigliato vero ?
Ovviamente il 'quando' eseguire le istruzioni di 'distruzione' dipende da diversi fattori (esigenze, scenario, etc...)codice:Dim CN As ADODB.Connection Set CN = New ADODB.Connection '// codice CN.Close Set CN = Nothing Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset '// codice che usa il recordset rs.Close Set rs = Nothing
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.Originariamente inviato da darkuss
Per curiosità inoltre volevo sapere perché è sconsigliato usare CreateObject() ?
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.
![]()