Newsgroup: it.comp.lang.visual-basic
Titolo: Stringa anomala in vb6

Ciao a tutti ho un quesito molto spaccameningi ma di sicuro di facile
soluzione per voi:
Con l'autocomposizione di vb6 ho creato una piccola rubrica con un database
di soli 4 campi convertito in access 97. Mi compila il tutto alla perfezione
fino al momento che creo l'eseguibile, blocca l'operazione facendomi il
debug sulla stringa sotto riportata, chi sa spiegarmi cosa vuol dire?
premetto che e da poco che mi sono accostato a vb6 ed e tutto così
difficile! ;-((
il messaggio di errore e il seguente:
Errore di compilazione tipo definito dall'utente Non definito
Private Sub datPrimaryRS_MoveComplete(ByVal adReason As
ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As
ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  'Visualizza la posizione del record corrente per questo gruppo di record
  datPrimaryRS.Caption = "Record: " &
CStr(datPrimaryRS.Recordset.AbsolutePosition)
grazie a tutti voi non mi abbandonate;-))
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 CStr(datPrimaryRS.Recordset.AbsolutePosition)
Ciao. Hai riportato due righe di istruzioni, non una. La prima è quella che
inizia con Private Sub, e la seconda è quella che inizia con
datPrimaryRS.Caption (quella che inizia con il carattere apostrofo è
soltanto una riga di commento, non una istruzione). Quale delle due viene
selezionata durante l'errore?
Comunque, in linea generale, l'errore di Tipo non definito avviene quando un
tipo di valori non è definito in nessun punto del codice o in nessuna
classe. I tipi di valori sono quelli che ci sono dopo la parola chiave As
nelle dichiarazioni delle variabili. Facciamo un esempio: quando dichiari
Dim i As Integer significa che la variabile i dovrà contenere dei valori di
tipo Integer, cioè numeri interi fino ad un certo valore ben preciso. VB
contiene molti tipi standard, tra cui Integer, che vengono detti Tipi
intrinseci o Tipi nativi. Però altri componenti spesso hanno necessità di un
tipo di valori personalizzato. Ad esempio quando si dichiara Dim rs As
ADODB.Recordset, il tipo Recordset è un tipo particolare di dati che non è
nativo di VB, quindi da qualche parte deve esserci definito cosa deve
contenere. Questa definizione è contenuta dentro la classe di ADO, quindi
basta aggiungere il riferimento ad ADO (Microsoft ActiveX Data Object
2.(num) Library) nel menu Progetto/Riferimenti e tutti i tipi personalizzati
di ADO saranno disponibili.
Tra i tipi inclusi nella classe di ADO ci dovrebbero essere anche i tipi
ADODB.EventReasonEnum, ADODB.Error, ADODB.EventStatusEnum e naturalmente
ADODB.Recordset, che sono utilizzati tra gli argomenti della routine
MoveComplete. Perciò mi sembra strano che sia uno di questi a non essere
definito, ma può sempre essere capitato un errore. Quindi puoi verificare
ogni tipo facendo clic don il tasto destro del mouse sulla parola di
dichiarazione del tipo (ad esempio, su EventReasonEnum) e scegliendo
Definizione nel menu contestuale. In questo modo ti si dovrebbe aprire il
Visualizzatore oggetti con la descrizione del tipo. Se trovi che la
definizione di uno di questi tipi restituisce un messaggio di errore
significa che quello è il tipo non definito. In tal caso però, siccome tutti
questi tipi sono inclusi nella classe di ADO, devi ricontrollare di aver
aggiunto il riferimento ad ADO nel menu Riferimenti (già che ci sei, prova
ad aggiungere anche il riferimento a Microsoft ActiveX Data Object Recordset
2.(num) Library).
Spero sia utile. Ciao.


 grazie a tutti voi non mi abbandonate;-))
l'autocomposizione mi fece ammattire con messaggi simili in un progetto in
cui scriveva parametri non corrispondenti alla versione ado referenziata:
la vedi in project > references.
fa' una prova. commenta il blocco di codice, poi fra gli eventi del
datacontrol clicca proprio quello del movecomplete e guarda se nel codice
che genera sono diversi i vari parametri. nel mio caso cambiavano secondo la 
versione di ado.
ho provato adesso a mettere un adodc control su un form: scrive il codice
esattamente come il tuo, referenzia la ms ado 2.5, e genera l'exe.
ciao, a.