Het probleem dat ik heb is als volgt:
Ik wil in mijn programma gebruik maken van een soort Config File die DMV een .dll word aangeroepen. deze .dll haalt zijn gegevens rechtstreeks uit het register van windows. De bedoeling is dus dat ik tegen die .dll zeg haal de volgende tekenreeks op uit die sleuten van Current User. In mijn geval HKEY_CURRENT_USER\Software\Creative Minds\Kassa\db_database
Indien ik de code als function in mijn form bouw waar ik hem in nodig heb:
werkt hij feilloos en krijg ik die betreffende key terug.
Vervolgens zet ik het als volgt in een .dll:
Als ik dan in mijn programma na het toevoegen van de juiste .dll als volgt gegevens opvraag:
krijg ik deze foutmelding voor mijn kiezen:
An unhandled exception of type 'System.NullReferenceException' occurred in MAIN.exe
Additional information: De objectverwijzing is niet op een exemplaar van een object ingesteld.
Na flink gegoogled te hebben was ik niets wijzer. Het moet iets kleins zijn maar ik zie het gewoon niet.
Het vreemde vind ik ook dat als ik heel de inhoud van function Readln remark dus dat hij niets uitvoert de foutmelding nog steeds gegeven word. Het lijkt in de structuur en aanroep van de class te zitten.
Ik wil in mijn programma gebruik maken van een soort Config File die DMV een .dll word aangeroepen. deze .dll haalt zijn gegevens rechtstreeks uit het register van windows. De bedoeling is dus dat ik tegen die .dll zeg haal de volgende tekenreeks op uit die sleuten van Current User. In mijn geval HKEY_CURRENT_USER\Software\Creative Minds\Kassa\db_database
Indien ik de code als function in mijn form bouw waar ik hem in nodig heb:
code:
1
2
3
4
5
6
7
8
| Public Function ReadLn(ByVal LineName As String, ByVal RegSub As String) As String If LineName = "" Then Exit Function If RegSub = "" Then RegSub = "Software\Creative Minds\Kassa" Dim RegKey As RegistryKey, RegSubKey As RegistryKey RegKey = Registry.CurrentUser RegSubKey = RegKey.CreateSubKey(RegSub) Return RegSubKey.GetValue(LineName, "") End Function |
werkt hij feilloos en krijg ik die betreffende key terug.
Vervolgens zet ik het als volgt in een .dll:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Imports Microsoft.Win32 Imports System Public Class Config Public Function ReadLn(ByVal LineName As String, ByVal RegSub As String) As String If LineName = "" Then Exit Function If RegSub = "" Then RegSub = "Software\Creative Minds\Kassa" Dim RegKey As RegistryKey, RegSubKey As RegistryKey RegKey = Registry.CurrentUser RegSubKey = RegKey.CreateSubKey(RegSub) Return RegSubKey.GetValue(LineName, "") End Function Public Function WriteLn(ByVal LineName As String, ByVal RegSub As String, ByVal Contents As String) If LineName = "" Then Exit Function If RegSub = "" Then RegSub = "Software\Creative Minds\Kassa" Dim RegKey As RegistryKey, RegSubKey As RegistryKey RegKey = Registry.CurrentUser RegSubKey = RegKey.CreateSubKey(RegSub) RegSubKey.SetValue(LineName, Contents) End Function End Class |
Als ik dan in mijn programma na het toevoegen van de juiste .dll als volgt gegevens opvraag:
code:
1
2
3
| dim Whatever as string Dim pr_config As Creative_Minds.Config whatever = pr_config.ReadLn("db_database", "") <----- Hier gaat hij op fout |
krijg ik deze foutmelding voor mijn kiezen:
An unhandled exception of type 'System.NullReferenceException' occurred in MAIN.exe
Additional information: De objectverwijzing is niet op een exemplaar van een object ingesteld.
Na flink gegoogled te hebben was ik niets wijzer. Het moet iets kleins zijn maar ik zie het gewoon niet.
Het vreemde vind ik ook dat als ik heel de inhoud van function Readln remark dus dat hij niets uitvoert de foutmelding nog steeds gegeven word. Het lijkt in de structuur en aanroep van de class te zitten.
*burp*