Newsgroup: it.comp.lang.visual-basic
Titolo: Object reference not set to an instance of an object ???

Imports dbAPI
Imports SQLitePlugin
 
Namespace Martek
    Partial Public Class business
        Dim plug As SQLitePlugin.clSQLiteplugin
....
Costruttore
.....
Sub New(PathAssolutoDB As String)
            'inizializzazione variabili
            _tipoErr = ""
            _boolErr = False
'istanzia plugin
            Try
 
                plug = New SQLitePlugin.clSQLiteplugin(PathAssolutoDB)
                _boolErr = plug.ErroreIntervenuto
                _tipoErr = plug.ErroreDB("Eccezione").ToString
            Catch ex As Exception
                _boolErr = True
                _tipoErr = ex.Message + " PASSATO: " + PathAssolutoDB + 
vbCrLf
                _tipoErr += SQLitePlugin.clSQLiteplugin.GetInfoPlugin
            End Try
End Sub
.....
 
compilo provo stand alone ok!
Porto sul web e mi ride in faccia...faccio un po di codice di test
su una webform
Public Class WebForm2
    Inherits 
System.Web.UI.Page
 
......
        Dim p As Martek.business
        Dim c As Martek.business
        Dim mpath As String = 
Server.MapPath("~\App_Data\dbmartek.sq3").ToString
 
        p = New Martek.business("~\App_Data\dbmartek.sq3")
        Response.Write(p.ErroreDescrizione)
        Response.Write("<hr />")
         p = Nothing
        Response.Write(mpath)
        Response.Write("<hr />")
        c = New Martek.business(mpath)
        Response.Write(c.ErroreDescrizione)
        Response.End()
....
 
Il risultato:
Path errato
---------
D:\inetpub\webs\martekit\App_Data\dbmartek.sq3
------------
Object reference not set to an instance of an object.
PASSATO: D:\inetpub\webs\martekit\App_Data\dbmartek.sq3 Versione 0.0.4 
04/04/2012 Assembly ver. 1.0.0.0
 
Sigh funzionava tutto un mese fa....ho solo potenziato il plugin!
Non capisco ....
 
il costruttore del plugin :
 
Public Class clSQLiteplugin
    Implements DBapi.InterfaceAPI_db
.....
Sub New(ByVal pathDatabase As String, Optional ByVal passwordDatabase 
As String = "")
 
        If File.Exists(pathDatabase) Then
            _con = "Data Source=" + pathDatabase + ";Version=3"
            'array per errori
            retErr = New Dictionary(Of String, Object)
            retErr.Add("ErrorePresente", False)
            retErr.Add("Eccezione", Nothing)
            _conpw = passwordDatabase
            _erroreIntervenuto = False
        Else
            _erroreIntervenuto = True
            'array per errori
            retErr = New Dictionary(Of String, Object)
            retErr.Add("ErrorePresente", True)
            retErr.Add("Eccezione", "Path errato")
        End If
        '*****************************************
.......
LA DOMANDA
Ma perchè
Object reference not set to an instance of an object ??????
 
1) ho messo una shared sul plugin che riporta la versione
SQLitePlugin.clSQLiteplugin.GetInfoPlugin e funziona (segno che i 
riferimenti all'assembly son corretti e tutto il giro funziona!)
2) Se il path è sbagliato da clSQLiteplugin cmq esce un oggetto con le 
proprietà di errore valorizzate...
3) Premsesso i punti di sopra
plug = New SQLitePlugin.clSQLiteplugin(PathAssolutoDB) ma perchè mi 
ritorna Object reference not set to an instance of an object ????
 
 
MAH! Appena si apre uno spiraglio mi ritrovo in un altra stanza buia!
 
-- 
----- Italliaaaaa 3227! -----
Bisogna sempre dare spontaneamente quello che non si può impedire ti 
venga tolto.
(Vittorio Alfieri)
 
 

 Imports dbAPI
SONO UN IDIOTA! Però mi fà bene scrivere....
 
Nel plugin di sqlite
    If File.Exists(pathDatabase) Then
            _con = "Data Source=" + pathDatabase + ";Version=3"
            'array per errori
            retErr = New Dictionary(Of String, Object)
            retErr.Add("ErrorePresente", False)
            retErr.Add("Eccezione", Nothing)
 
 
 
retErr.Add("Eccezione", Nothing)
MALEDETTO ME!!!! NOTHING!
Sostituito
retErr.Add("Eccezione", vbNull)
 
Null non è nothing...e l'oggetto lo crea!
 
GRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR!!!!!! Chissa perchè non mi dava errore 
prima!!!Dovevo aver fatto confusione con le versioni....il prossimo 
step mi installo davvero un tools per il versioning (git e SVN....uno 
qualsiasi)
 
Scusate...sia monito la mia stupidità a chi viene dopo!
 
-- 
----- Italliaaaaa 3227! -----
Là dove l'uomo scopre un minimo di ordine, immediatamente ne suppone 
troppo.
(Francesco Bacone)
 
 

 SONO UN IDIOTA!
 
Non c'era il minimo dubbio 
 
 

 Non c'era il minimo dubbio
 
eh eh eh ...è arrivato il re degli idioti....ti do 3 numeri da giocare
6
1
0
 
:)
 
-- 
----- Italliaaaaa 3227! -----
Ho visto cose che voi umani non potreste immaginare... navi da 
combattimento in fiamme al largo dei bastioni di Orione. E ho visto i 
raggi B balenare nel buio vicino alle porte di Tannhauser. E tutti quei 
momenti andranno perduti nel tempo come lacrime nella pioggia. È tempo 
di morire...
 
Unità NEXUS6 Roy Batty N6MAA10816 Ment.LEV A
 
 

 :)
 
 
Ohhh  si č convertito a giocatore del lotto
 
ma tu non eri per il   XXX      totocalcio ?