Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Problema Settings
Forum - C# / VB.NET - [VB.NET] Problema Settings

Avatar
nabbopazzo (Normal User)
Rookie


Messaggi: 34
Iscritto: 19/01/2009

Segnala al moderatore
Postato alle 23:59
Giovedì, 30/04/2009
Salve a tutti!
Come da titolo ho un problema con le impostazioni di un applicazione in vb 2008.
Andando al dunque: quando dalle proprietà del progetto vado su impostazioni e creo una nuova impostazione di tipo stringcollection (in quanto mi serve un elenco di stringhe da usare come items in un combobox), poi quando provo a leggere o scrivere da questa impostazione ricevo un errore di NullReferenceException (Object reference not set to an instance of an object).
Ho varie prove ma nnt da fare. Qualcuno che ha avuto lo stesso problema? PS:uso Windows 7, può essere lui il problema? Vi ringrazio in anticipo per l'attenzione.

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 9:04
Venerdì, 01/05/2009
Il codice ?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:06
Venerdì, 01/05/2009
L'oggetto non è inizializzato. Forse in My.Settings ti sei dimenticato di dargli un valore di default; oppure non hai salvato i Settings una volta uscito dall'applicazione. Se la proprietà non è a sola scrittura, la imposti assegnandole una nuova istanza dell'oggetto StringCollection.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:26
Venerdì, 01/05/2009
Testo quotato

Postato originariamente da Il Totem:

L'oggetto non è inizializzato. Forse in My.Settings ti sei dimenticato di dargli un valore di default; oppure non hai salvato i Settings una volta uscito dall'applicazione. Se la proprietà non è a sola scrittura, la imposti assegnandole una nuova istanza dell'oggetto StringCollection.


Concordo...

PM Quote
Avatar
nabbopazzo (Normal User)
Rookie


Messaggi: 34
Iscritto: 19/01/2009

Segnala al moderatore
Postato alle 11:02
Venerdì, 01/05/2009
Non posso creare un'istanza dell'oggetto perchè è una proprietà dello spazio nomi "My.Settings" e nn posso assegnargli un valore di default in quanto è una collezione e poi ho la necessità di nn assegnargliene uno. Alla fine ho risolto utilizzando una singola stringa dividendo quello che mi serve col vbcrlf e poi assegnandola a una textbox uno l'array lines così ho di nuovo un array con tutte le righe. Però è un mistero.......

EDIT
Sono riuscito! Bastava che la prima volta che utilizzo quella impostazione la imposto come istanza di stringcollection, così per esempio:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         Try
  3.             My.Settings.p.Count.ToString()
  4.         Catch ex As NullReferenceException
  5.             My.Settings.p = New System.Collections.Specialized.StringCollection
  6.         End Try
  7.     End Sub


Ultima modifica effettuata da nabbopazzo il 01/05/2009 alle 11:23
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:41
Sabato, 02/05/2009
Ossia come ti avevo detto io :rotfl:

PM Quote