Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
[vb2005] Riferimento a oggetto nullo o non istanziato
Ultimo Post 18 mag 2009 12.28 by Hidden. 3 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi Risolto

Posts:663

--
13 mag 2009 09.02  

Salve ragazzi volevo chiedervi delle informazioni in merito ad un problem che ho riscontrato.
Ho un programma che effettua determinate operazioni. In realtà lui calcola Tutto il lavoro che ha fatto un dipendente in un arco di tempo. Calcolado assenze presenze società di appartenenza e così via.
Il mio problema è questo:

Quando lancio per la prima volta l'elaborazione il programma funziona correttamente, ma se lancio l'elaborazione una seconda volta il programma mi restituisce il seguente errore:

"Riferimento a un oggetto non impostato su un'istanza di oggetto"

vi posto il codice dove si blocca la freccia indica il punto dove mi restituisce l'errore

For i As Integer = 0 To x Step 1
            If Not bkw_Elab.CancellationPending Then
                dv_Dati.AddNew()    <--------------------------------------------
                dv_Dati(i).BeginEdit()
                dv_Dati(i).Item("Matric") = str_Matric
                dv_Dipendenti.RowFilter = String.Format("Matric like '{0}'", str_Matric)
                dv_Dati(i).Item("Cognome") = dv_Dipendenti(0).Item("Cognome")
                dv_Dati(i).Item("Nome") = dv_Dipendenti(0).Item("Nome")
                dv_Dipendenti.RowFilter = Nothing
                dv_Dati(i).Item("Data") = datime_Inizio.AddDays(i).Date.ToShortDateString
                dtime_tmp = CType(dv_Dati(i).Item("Data"), Date)
                dv_Dati(i).Item("Giorno") = cOperazioni.Traduci(dtime_tmp.Date.DayOfWeek.ToString)
                dv_Dati(i).EndEdit()
            Else
                bkw_Elab.ReportProgress(0, "Stato: Operazione interrotta")
            End If
        Next

Fatto strano che però non riesco a capire è il seguente:
Quando lancio l'elaborazione la seconda volta l'errore non mi vine restituito subito ma bensì dopo aver fatto una volta il ciclo for.
Infatti appena lancio l'elaborazione (per la seconda volta) il porgramma mi completa per una volta il ciclo for cioè con i=0 ma poi al secondo giro cioè con i=1 mi restituisce l'errore.

 

Ogni volta che rilancio l'elaborazione eseguo anche il codice
dv_dati = new dataview

per eliminare completamente quello che apparteneva alla prima elaborazione.


Sto leggermente impazzendo. Dove sto sbagliando?
Potreste gentilmente darmi una mano non ci sto capendo più niente. Vi ringrazio infinitamente.


Posts:663

--
13 mag 2009 11.16  
Ho risolto il problema e mi spiego.

Nella classe principale io dichiaro un datatable dt_Dati (che è la datatable a cui fa riferimento la mia dataview) che nel momento in cui viene lancaita l'elaborazione viene passata tra le classi che aggiungono e modificano i dati restituendomi alla fine la datatable opportunamente elaborata in modo che io possa stamparla.
Anche se ogni volta che io lanciavo l'elaborazione eliminavo i dati contenuti utilizzando il metodo Clear sia per le righe che per le colonne forse questa non venina ripristinata completamente perciò
ho reistanziato (non so se è il termine corretto) la datatable all'avvio dell'elaborazione con il codice
dt_dati= new DataTable ("Elaborato")

e così ora il tutto funziona perfettamente

Posts:811

--
13 mag 2009 17.33  
... non so se dico una sciocchezza, ma da quanto dici non ci sono sufficienti dati, dici che fai dv_dati = new DataView()
ma una dataview prevede di essere creata a partire da una datatable, come fa la poverella a sapere come sono fatti i dati di colonna se fai solo quella istruzione?
Sabrina

Posts:663

--
18 mag 2009 12.28  
Non so se in questo caso sbaglio, so però che anche quando creo una dataview solitamnete questo è l'ordine che seguo

dim dt as new Datatable("Tabella1")
....Popolo o importo dati nella datatable con un datareader
dim dv as new Dataview

dv.Table= dt

se poi faccio delle modifiche e volgio ripristinare il tutto faccio

dv = new dataview
ripopolo importo dati con un datareader all'interno della datatable
dv.table= dt

Spero proprio di non sbagliare
perchè poi mi risulterebbe strano e difficile capire coma mai funziona.

Grazie
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
L'Albero degli elementi
Come iniziare a capire com'è fatto WPF (parte 3)
2007/08/13 | Autore: Patrizia Cosolo
Ereditarietà applicata ai controlli
Creazione di una combobox che mostra immagini al posto del testo
2008/07/06 | Autore: Andrea Zingoni
Visual Studio LightSwitch Beta 1 - Installazione
La procedura di installazione e le risorse sul web
2010/08/24 | Autore: Mario De Ghetto
Fritto Misto - Classi di uso comune (parte 5)
Helper: Eccezioni personalizzate e Messaggi compositi
2007/10/27 | Autore: Sabrina Cosolo
Iniziare da zero con WPF (Parte 3)
Litigi, Divinità, Pennelli e Frigoriferi. (prima parte)
2007/11/22 | Autore: Sabrina Cosolo
Ereditarietà in pillole (Parte 1)
Come creare una TreeView personalizzata
2008/03/22 | Autore: Alberto De Luca
Stampare Una DatagridView
Come utilizzare gli oggetti di stampa forniti dal framework per stampare il contenuto di una DatagridView con l'ausilio della GDI+
2008/12/07 | Autore: Andrea Zingoni
Introduzione a Windows Presentation Foundation (parte1)
La prima di una serie di traduzioni da articoli di MSDN o altre fonti che offrono un punto di partenza per iniziare a capire il WPF.
2007/07/29 | Autore: Patrizia Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.