Avatar billede ha9953 Nybegynder
26. august 2004 - 13:25 Der er 7 kommentarer og
1 løsning

Object reference not set to an instance of an object

jeg har kompilet følgende simple funktion:

Public Class fotofunktion
Public function fotocontrol() as System.Web.UI.Webcontrols.table
Dim cellecontrol as New Tablecell
Dim rowcontrol as New Tablerow
rowcontrol.Cells.Add(cellecontrol)
fotocontrol.Rows.Add(rowcontrol)
end function
end Class

Jeg tester den af på følgende måde:

Dim foto as new efb.fotofunktion()
response.write(foto.fotocontrol.Rows.count)

Desværre får jeg nedenstående fejl  - er der nogen der kan hjælpe:

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Avatar billede arne_v Ekspert
26. august 2004 - 13:30 #1
Jeg er ikke skrap til VB syntax men den her undrer mig:

fotocontrol.Rows.Add(rowcontrol)

er fotocontrol blevet sat til at pege på en instans af System.Web.UI.Webcontrols.table ?

Eller mangler du en:

fotocontrol = New System.Web.UI.Webcontrols.table

inden den linie.
Avatar billede chakawoo.dk Nybegynder
26. august 2004 - 13:31 #2
Kan du ikke Trace dig frem til hvor det går galt?
Avatar billede ha9953 Nybegynder
26. august 2004 - 13:32 #3
nej - fotocontrol er jo erklæret som tabel i min class
Avatar billede arne_v Ekspert
26. august 2004 - 13:35 #4
Ja men hvor kommer instansen fra ?
Avatar billede ha9953 Nybegynder
26. august 2004 - 13:44 #5
Er ikke helt med - men som sagt kompiler jeg følgende:

Option Explicit
Option Strict Off

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports Microsoft.VisualBasic
Imports System.IO
Imports System.Data
Imports System.Configuration
Imports System.XML
Imports System.Web.Caching

Namespace funktioner

    Public Class fotofunktion
        Public function fotocontrol() as System.Web.UI.Webcontrols.table
            Dim cellecontrol as New Tablecell
            Dim rowcontrol as New Tablerow
            rowcontrol.Cells.Add(cellecontrol)
            fotocontrol.Rows.Add(rowcontrol)
        end function

    End Class

end namespace

og kalder så fotofunktion i min codebehind på følgende måde:

Dim foto as new funktioner.fotofunktion()
response.write(foto.fotocontrol.Rows.count)
Avatar billede arne_v Ekspert
26. august 2004 - 13:51 #6
Kan du ikke lige prøve med:

        Public function fotocontrol() as System.Web.UI.Webcontrols.table
            Dim cellecontrol as New Tablecell
            Dim rowcontrol as New Tablerow
            fotocontrol = New System.Web.UI.Webcontrols.table
            rowcontrol.Cells.Add(cellecontrol)
            fotocontrol.Rows.Add(rowcontrol)
        end function

?
Avatar billede ha9953 Nybegynder
26. august 2004 - 13:55 #7
Perfekt - troede ikke det var nødvendigt - smid lige et svar
Avatar billede arne_v Ekspert
26. august 2004 - 14:19 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester