View Full Version : VB 6.0 chi mi può aiutare?
The March
05-12-2003, 09:42
ola tutti, ho un problema con visual basic 6.0...
sto facendo dei dll e utilizzo spesso le librerie di microsoft activex data object 2.5...
grazie a queste posso fare i seguenti comandi...
dim cmd as ADODB.Command
Dim rs as ADODB.Recordset
set cmd = createobject("ADODB.Command")
set rs = createobject("ADODB.Recordset")
qualcuno sa spiegarmi a parole molto povere cosa fanno praticamente i due set?
quei due set dicono semplicemente al vb che devono mettere lìoggetto creato dalla funzione createobject debtro alla variabile.
ciao ;)
The March
05-12-2003, 10:26
grazie comunque...
solo che questo era l'unica cosa che avevo capito...
il problema è che io non so nulla della funzione createobject...
in pratica, materialmente questa funzione cosa fa?
The March
05-12-2003, 10:42
forse ho capito
con le dichiarazioni dichiaro cmd e rs
mentre con il createobject è come se lo dichiarassi, o meglio per utilizzare quell'oggetto devo crearlo anche se è gia contenuto nella libreria....
ma perchè metto il valore di questa creazione nel cmd e nel rs?
:( :( :(
:cry:
no non capisco!!!!
:cry:
The March
05-12-2003, 12:10
uppino
Con Dim crei variabili adatte a contenere i due diversi oggetti...
Con CreateObject inizializzi un oggetto del tipo passato a CreateObject e lo assegni alle variabili... Senza questa assegnazione non potresti usare gli oggetti creati...
The March
05-12-2003, 12:36
non mi è ancora del tutto chiaro...
ma createobject(ADODB.Recordset)
cosa restituisce?
e poi perchè lo asegno dinuovo alle variabili se le ho gia dichiarate come adodb.recordset?
Originariamente inviato da The March
e poi perchè lo asegno dinuovo alle variabili se le ho gia dichiarate come adodb.recordset?
Le variabili che hai dichiarato sono ADATTE A CONTENERE oggetti di quel tipo, ma NON SONO ANCORA oggetti di quel tipo...non sono inizializzate...
Set non fa altro che copiare l'oggetto, questa volta inizializzato, ritornato da CreateObject nelle variabili...
The March
05-12-2003, 13:50
ora ho capito !!!!!!!!:O
se non me lo dite!!!!!!!!
grazie cionci!!!!!!
finalmente qualcuno che me lo ha saputo spiegare!!!
:p
Kralizek
05-12-2003, 22:10
a voler essere pignoli...
Dim a as SomeClass
crea un puntatore di nome "a" ad un oggetto di tipo SomeClass.
Nel momento del Set a = createobject("SomeLib.SomeClass") (che equivale a "Set a=new SomeLib.SomeClass") noi creaiamo l'oggetto effettivo e poi copiamo l'indirizzo di memoria all'interno della variabile "a". Ecco perchè a prescindere dalla classe una variabile Object è grande sempre 8 Byte, proprio perchè in 8 byte viene memorizzato l'indirizzo dell'oggetto effettivo. ;-)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.