Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    errore 91: riferimento a un oggetto non impostato su un'istanza di oggetto

    Ho creato una dll con mie classi. Con una di queste gestisco SQl Oledb. Nei due casi sotto indicati non riesco a bloccare l'errore nel titolo che mi provoca un'uscita dal form chiamante inaspettata. Qualcuno mi puo` dare un aiutino? Grazie

    Case Is = EnumQuery.SelectWithParameter ' Select con Parametri
    LanciaParametri(prm, StrutDaPassare)
    OleDbAdpt = New OleDb.OleDbDataAdapter(Oledbcom)
    OleDbAdpt.SelectCommand.CommandText = Quer
    OleDbAdpt.SelectCommand.Connection = OleDbCon
    OleDbCon.Open()
    RispOledb = OleDbAdpt.SelectCommand.ExecuteNonQuery()
    OleDbAdpt.Fill(ds)

    If RispOledb = 1 Then dt = ds.Tables(0)

    Beep()
    'If MsAfineAz <> String.Empty Then _
    'MessageBox.Show(MsAfineAz, MsAfineAz, MessageBoxButtons.OK, MessageBoxIcon.Information)
    If RispOledb = 1 Then _
    MessageBox.Show(MsAfineAz, MsAfineAz, MessageBoxButtons.OK, MessageBoxIcon.Information)

    Return dt





    Case Is = EnumQuery.SelectWithoutParameter ' Select senza Parametri
    OleDbCon.ConnectionString = ConnDB
    Oledbcom.CommandText = Quer

    Oledbcom.Connection = OleDbCon
    OleDbAdpt.SelectCommand = Oledbcom
    OleDbCon.Open()

    OleDbAdpt.Fill(ds)
    If RispOledb = 1 Then dt = ds.Tables(0)
    If Not DBNull.Value.Equals(dt.Rows(0).Item(0)) Then
    IdTab = dt.Rows(0).Item(0)
    Else
    MessageBox.Show("Nessun Record!", "Nessun Record!")
    End If

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Scusa ... ma in quale linea hai l'errore ? Dovresti sapere qual e', dato che viene mostrata ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Ciao Oregon,

    Grazie per la risposta. Hai ragione in una normale applicazione Windows Form il debug puo` essere impostato per arrestarsi dove avviene l'errore ma in questo caso ho elaborato un codice assemblato dll che sto testando da un Form tabella con bottoni dal quale lancio le varie funzioni contenute nell'assemblato.

    Ho creato una funzione per la gestione degli errori:

    Public Sub GestioneErrori(ByVal messErr As String, ByVal ErrNr As Integer)
    MessageBox.Show(messErr, "Errore nr.:" & ErrNr)
    End Sub


    e una routine che mi scrive su un file log le routine chiamanti:

    Private Sub ScriviSuFile(ByVal Frm As String, ByVal Sb As String)
    Try

    Dim FileLog As String = Microsoft.VisualBasic.FileIO.SpecialDirectories.My Documents & _
    "\FileLog.txt"
    Dim FileWriter As New StreamWriter(FileLog, True)
    FileWriter.WriteLine("Chiamato da Form: " & Frm & Space(2) & "e Sub/Function: " & Sb)
    FileWriter.Close()
    Exit Sub

    Catch ex As Exception
    GestioneErrori(ex.Message, Err.Number)
    Exit Try
    End Try
    End Sub


    Dal Form passo il valore: System.Reflection.MethodBase.GetCurrentMethod.Name (nome routine chiamante) e ottengo un file con log tipo:

    Chiamato da Form: ProvaClasse e Sub/Function: Button2_Click
    Chiamato da Form: ProvaClasse e Sub/Function: Button2_Click
    Chiamato da Form: ProvaClasse e Sub/Function: Button7_Click
    Chiamato da Form: ProvaClasse e Sub/Function: Button7_Click


    Il primo errore 9: Nessuna riga alla posizione 0 e` gestito correttamente dalla funzione di GestioneErrori ed e` previsto perche` non ci sono record nel dataset (e questo e` il caso) ma il secondo errore (nel titolo) e` imprevisto e genera la fuoriscita inaspettata e non gestita dal form chiamante.

    Spero di essere stato chiaro sono pronto a postare tutto il codice dll e form chiamante per maggiore chiarezza.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.