Il giorno 03/lug/05, alle 12:29, Andrea Baron ha scritto:
Il giorno 03/lug/05, alle ore 11:08, Vincenzo Antedoro ha scritto:
Salve a tutti.
Per una mia necessità ho creato una classe (oggetto) che ha le
seguenti proprietà:
Nome Classe = DataItems
Proprietà:
Items(0) as DataItems
Text as string
query as string
cripticquestion as string
isrootnode as boolean
siccome voglio creare un array della classe dataItems col seguente
metodo appendo un Item
DataItems.AddItem:
Function AddItem(IsRootNode as Boolean, Text as String, Query as
string,CripticQuestion as string) As DataItems
Dim n as DataItems
n = New DataItems
n.isRootNode = isRootNode
n.text = text
n.query = query
n.cripticQuestion = cripticQuestion
Items.Append n
return n
End Function
Ora sembra che ogni volta che chiamo il metodo additem questo
inserisca un elemento nuovo all'array.
Mi pare lo scopo del metodo... Stai creando un albero praticamente,
questo metodo inserisce il nuovo elemento e ritorna l'elemento creato
e inserito.
forse quel New dataItems cancella l'oggetto precedente?
Ho paura che tu stia facendo una cosa del tipo:
n=n.addItem(...)
oppure n.addItem(...).addItem(...)
perchè questa sarebbe l'unica spiegazione al fatto che ti ritrovi solo
l'ultimo elemento inserito. New DataItems non cancella gli elementi
precedenti.
Ho scoperto che l'errore non stà quì.
Il problema purtroppo è un'altro.
Sto cercando di conservare quest'albero di oggetti dentro la proprietà
celltag di una listbox che accetta valori di tipo variant quindi anche
object.
Quando inserisco faccio cosi:
DItem as dataItems // proprietà pubblica di una sotto classe di listbox
DItem = me.cellTag(row,column) // leggo il valore precedente
Me.addrow ""
me.cellTag(row,column) = DItem.AddItem(false, Text, query,
CripticQuestion) // appendo il nuovo valore
e quando vado a leggere la proprietà celltag faccio così:
Dim S as string
dItem = listboxX.cellTag( row,column)
e ad esempio se voglio conoscere il valore di text dell'ultimo "record"
aggiunto
scrivo;
S = dItem.Items(Ubound(dItems.Items)).text
|