Mensen,
voor mijn plugin ben ik bezig met het aanmaken van eigen filters welke worden opgeslagen in de AutoCAD database.
Wanneer de ik filters hard coded toevoeg werken ze prima, echter wanneer ik ze wil toevoegen op basis van een selectie in mijn plugin krijg ik een foutmelding.
Ik ben al een tijdje aan het zoeken maar zie niet wat ik fout doe, wie kan mij op gang helpen.
foutmelding
Object reference not set to an instance of an object.
De foutmelding is op zich duidelijk, er is een verwijzing naar een object dat niet bestaat.
Alleen dictLoad bestaat, val bestaat en wordt netjes gevuld, sName bestaat en bevat gegevens.
Wanneer ik onderstaande code uitvoer werkt het wel.
Waar zit mijn fout? Ik zie het niet meer, iemand wie mij op gang kan / wil helpen?
voor mijn plugin ben ik bezig met het aanmaken van eigen filters welke worden opgeslagen in de AutoCAD database.
Wanneer de ik filters hard coded toevoeg werken ze prima, echter wanneer ik ze wil toevoegen op basis van een selectie in mijn plugin krijg ik een foutmelding.
Ik ben al een tijdje aan het zoeken maar zie niet wat ik fout doe, wie kan mij op gang helpen.
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Sub saveNewFilter(ByVal sFilterType As String, ByVal sName As String) Dim dictLoad As Dictionary(Of String, List(Of String)) = clsFilterData.getFilters(acDoc, acCurDb, acEd, "FILTERSETTINGS") Dim val As List(Of String) = New List(Of String) For Each myCntrl As myCustomLitsItem In flowLayouts.Controls If (myCntrl.IsModel = False) And (myCntrl.Visible = True) Then Select Case sFilterType Case "selected" If myCntrl.CheckState Then 'layout is checked val.Add(myCntrl.LayoutID.ToString) End If Case "visible" val.Add(myCntrl.LayoutID.ToString) End Select End If Next dictLoad.Add(sName, val) '##### Hier ontstaat de error clsFilterData.saveFilters(acDoc, acCurDb, acEd, dictLoad, "FILTERSETTINGS") end sub |
foutmelding
Object reference not set to an instance of an object.
De foutmelding is op zich duidelijk, er is een verwijzing naar een object dat niet bestaat.
Alleen dictLoad bestaat, val bestaat en wordt netjes gevuld, sName bestaat en bevat gegevens.
Wanneer ik onderstaande code uitvoer werkt het wel.
Visual Basic .NET:
1
2
3
4
5
6
7
| Sub saveNewFilter(ByVal sFilterType As String, ByVal sName As String) Dim dictLoad As Dictionary(Of String, List(Of String)) = clsFilterData.getFilters(acDoc, acCurDb, acEd, "FILTERSETTINGS") dictLoad.Add("test", New List(Of String) From {"a", "b", "c"} clsFilterData.saveFilters(acDoc, acCurDb, acEd, dictLoad, "FILTERSETTINGS") end sub |
Waar zit mijn fout? Ik zie het niet meer, iemand wie mij op gang kan / wil helpen?