Exception.InnerException ???

  • VB.NET

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Exception.InnerException ???

    Hallo Com,
    ich habe mir heute einen Client für mein Programm geschrieben es ist ein Login System mit HwID abfrage !
    Nur ich bekomme beim Debugen immer das Problem Exception.InnerException
    Spoiler anzeigen
    Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt..
    da ich nicht der Ober Pro in Vb bin möchte ich euch um Hilfe bitten.
    Hier mein Code:

    VB.NET-Quellcode

    1. Imports MySqlLib3
    2. Public Class Login
    3. Public db As New MySqlLib("http://localhost/query.php", True)
    4. Dim HardwareID As String = System.Security.Principal.WindowsIdentity.GetCurrent.User.Value
    5. Dim lesen As MySqlLib.ResultCollection = db.Query("SELECT * FROM login WHERE Username='" + Replace(tb_user.Text, " ", "") + "' AND Password='" & Replace(tb_pass.Text, " ", "") + "' AND Group='" & Replace("VIP-Member", " ", "") & "'")
    6. Dim GetHardwareID As MySqlLib.ResultCollection = db.Query("SELECT * FROM HwIDs WHERE Username='" + Replace(tb_user.Text, " ", "") & "'")
    7. Dim CheckHardwareID As MySqlLib.ResultCollection = db.Query("SELECT * FROM HwIDs WHERE Username='" + Replace(tb_user.Text, " ", "") + "' AND HwID='" & Replace(HardwareID, " ", "") & "'")
    8. Private Sub b_Login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_Login.Click
    9. If lesen.Row.Count = 1 Then
    10. lb_LoginStatus.Text = "Status : Login in ..."
    11. Else
    12. lb_LoginStatus.Text = "Status : Wrong Login Data"
    13. lb_LoginStatus.ForeColor = Color.Red
    14. MessageBox.Show("Wrong Login Data !")
    15. End If
    16. End Sub
    17. Sub GetHwID()
    18. If GetHardwareID.Row.Count = 1 Then
    19. lb_LoginStatus.Text = "Status : Cheking HardwareID ..."
    20. CheckHwID()
    21. Else
    22. lb_LoginStatus.Text = "Status : Writing HardwareID in Database ..."
    23. db.Query("INSERT INTO HwIDs (`Username`,`HwID`) VALUES ('" & tb_user.Text & "','" & HardwareID & "')")
    24. CheckHwID()
    25. End If
    26. End Sub
    27. Sub CheckHwID()
    28. If CheckHardwareID.Row.Count = 1 Then
    29. lb_LoginStatus.Text = "Status : Cheking Complete Acces Granded"
    30. Me.Close()
    31. Client.Show()
    32. Else
    33. lb_LoginStatus.Text = "Status : HardwareID not maches..."
    34. MessageBox.Show("HardwareID not maches with the Server Please Reset")
    35. End If
    36. End Sub
    37. End Class


    Könnt ihr mir weiter Helfen ??

    Mfg MineCore
    Willkommen im Forum. :thumbup:
    Mit einem einfachen New ist es da nicht getan, Du solltest zunächst einige Design-Regeln beachten.
    Das Schlüsselwort New kommt nur in Prozeduren vor, nicht in der Klasse, wo nur Deklarationen stehen sollten.
    Also etwa so:

    VB.NET-Quellcode

    1. Class xx
    2. Private aa As Bb
    3. Public Sub New
    4. aa = New Bb
    5. End Sub
    6. End Class
    Räume das auf und dann sehen wir weiter.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Das Schlüsselwort New kommt nur in Prozeduren vor, nicht in der Klasse, wo nur Deklarationen stehen sollten.
    Seh ich anners: Ich finde, wo man Deklaration und Instanzierung zusammenziehen kann, da sollte man das auch tun.
    Ist besser, wenn nur an einer Stelle geguckt werden muß, anstatt zusätzlich auch noch inne Sub New.

    VB.NET-Quellcode

    1. Class xx
    2. Private aa As New Bb
    3. End Class
    definitiv leichter verständlich und wartbarer.

    MineCore schrieb:

    Wie jetzt ?
    Das ist ein Design-Streit zwischen dem @ErfinderDesRades: und mir, den wir nun auf Deinem Rücken nicht austragen werden. :D
    Mach es so, wie es Dir genehm ist.
    Wenn dann solch Fehler kommt, sieh Dir alle in frage kommenden Variablen an, (mindestens) eine davon ist Nothing und möchte mit New instanziiert werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @MineCore: Benenne mal bitte genau die Zeile, in der der Fehler auftritt, und poste die genaue Fehlermeldung.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    So hier der Fehler Code:
    1. VB.NET-Quellcode

      1. System.InvalidOperationException wurde nicht behandelt.
      2. HResult=-2146233079
      3. Message=Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt..
      4. Source=VIP-Hax Client
      5. StackTrace:
      6. bei VIP_Hax_Client.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 190.
      7. bei VIP_Hax_Client.My.MyProject.MyForms.get_Login()
      8. bei VIP_Hax_Client.My.MyApplication.OnCreateMainForm() in C:\Users\MineCore\documents\visual studio 2010\Projects\VIP-Hax Client\VIP-Hax Client\My Project\Application.Designer.vb:Zeile 35.
      9. bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      10. bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      11. bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      12. bei VIP_Hax_Client.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
      13. bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
      14. bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      15. bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      16. bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      17. bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      18. bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      19. bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      20. bei System.Threading.ThreadHelper.ThreadStart()
      21. InnerException: System.NullReferenceException
      22. HResult=-2147467261
      23. Message=Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
      24. Source=VIP-Hax Client
      25. StackTrace:
      26. bei VIP_Hax_Client.Login..ctor() in C:\Users\MineCore\documents\visual studio 2010\Projects\VIP-Hax Client\VIP-Hax Client\Login.vb:Zeile 5.
      27. InnerException:
    [list=1]Und der Desinger Code :[/list][list=1]

    VB.NET-Quellcode

    1. '------------------------------------------------------------------------------
    2. '
    3. ' Dieser Code wurde von einem Tool generiert.
    4. ' Laufzeitversion:4.0.30319.18033
    5. '
    6. ' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
    7. ' der Code erneut generiert wird.
    8. '
    9. '------------------------------------------------------------------------------
    10. Option Strict On
    11. Option Explicit On
    12. Namespace My
    13. 'HINWEIS: Diese Datei wird automatisch generiert. Ändern Sie sie nicht direkt. Zum Ändern
    14. ' oder bei in dieser Datei auftretenden Buildfehlern wechseln Sie zum Projekt-Designer.
    15. ' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im
    16. ' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor.
    17. '
    18. Partial Friend Class MyApplication
    19. _
    20. Public Sub New()
    21. MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
    22. Me.IsSingleInstance = false
    23. Me.EnableVisualStyles = true
    24. Me.SaveMySettingsOnExit = true
    25. Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterAllFormsClose
    26. End Sub
    27. _
    28. Protected Overrides Sub OnCreateMainForm()
    29. Me.MainForm = Global.VIP_Hax_Client.Login
    30. End Sub
    31. End Class
    32. End Namespace


    [/list][list=1][/list]

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „MineCore“ ()

    @MineCore: Sieh Dir bitte mal Deinen Post nochmals an, klick auf Bearbeiten und ändere ihn so, dass das, was in den Expandern drin steht, so aussieht, wie es aussehen soll.

    MineCore schrieb:

    VB.NET-Quellcode

    1. Option Strict On
    2. Option Explicit On
    Ich denke nicht, dass in diesen Zeilen ein Fehler generiert wird, also haben sie nichts in Deinem Post verloren.
    Allerdings ist dies interessant:

    VB.NET-Quellcode

    1. ' Dieser Code wurde von einem Tool generiert.
    Kannst Du dazu etwas näheres schreiben?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    MineCore schrieb:

    das macht das VB Studio selber!
    Was für ein Objekt hast Du denn Deinem Projekt hinzugefügt?
    Und lass Dir bitte nicht jede Information einzeln aus der Nase ziehen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Mal sehen, ob @Dodo: helfen kann.
    Welche Bedingungen stehen da, wo Du die Lib her hast (FrameWork, Studio, ...), wie sind Deine Bedingungen?
    Mach mal ein kleines Testprojekt mit den an der Quelle genannten Bedingungen und füge dort die Lib ein.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    MineCore schrieb:

    zwischen den Schritten ?
    Zwischen welchen?
    Wie lang?

    VB.NET-Quellcode

    1. System.Threading.Thread.Sleep(30)
    Dies geht vor die Hose, wenn die Zeit zu groß wird, weil da Deine GUI einfriert.
    Denke also sofort über ein anständiges Konzept nach, verlagere den Code in einen separaten Thread oder so.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!