Unerklährlicher Fehler

  • VB.NET

Es gibt 31 Antworten in diesem Thema. Der letzte Beitrag () ist von Myrax.

    @Code-Fresser: Äh... JA!
    Mach das.

    Wer Strings mit Integers/Longs concattieren möchte kennt a) die Grundlagen der Programmierung nicht und b) hat er seinen Compiler/seine IDE falsch konfiguriert, wenn diese soetwas erst zur Laufzeit bemerkt.

    Mach in die allererste Zeile Option Strict On und behebe mal alle Fehler die auftreten.

    EDIT: Ja, das sieht so schon mal wesentlich besser aus.

    Code-Fresser schrieb:

    VB.NET-Quellcode

    1. Grekas = CStr(CDbl(Takt) / 1024 / 1024)
    What?
    Fang an und schreib ordentlichen Code, dazu gehört die Trennung von GUI und Daten. Controls dienen der Anzeige, nicht dem Halten von Daten.
    Lagere die einzelnen Code-Teile in unabhängige Subs aus, die kannst Du einzeln bearbeiten und einzeln testen.
    Meide die Form_Load, fang an und bemühe eine Button_Click-Prozedur!
    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!
    Vielleicht hast du recht :D
    Mal sehen wenn es fertig ist :D

    Edit:

    Eure tipps haben mir sehr sehr sehr [..] Weitergeholfen vielen dank :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Code-Fresser“ ()

    Sorry für Doppelpost, hab aber nun ein völlig anderes Problem :D

    VB.NET-Quellcode

    1. Try
    2. 'Motherboard
    3. Dim strComputer = "."
    4. Dim objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    5. Dim colItems = objWMIService.ExecQuery("Select * from Win32_MotherboardDevice", , 48)
    6. For Each memObj In colItems
    7. MB_Name.Text = "Availability : " & (memObj.Availability).ToString
    8. Label7.Text = "Caption : " & memObj.Caption
    9. Label8.Text = "ConfigManangerErrorCode : " & memObj.ConfigManangerErrorCode
    10. Label9.Text = "ConfigManangerUserConfig : " & memObj.ConfigManangerUserConfig
    11. Label10.Text = "CreationClassName : " & memObj.CreationClassName
    12. Label11.Text = "Description : " & memObj.Description
    13. Label12.Text = "DeviceID : " & memObj.DeviceID
    14. Label13.Text = "ErrorCleared : " & memObj.ErrorCleared
    15. Label14.Text = "ErrorDescription : " & memObj.ErrorDescription
    16. Label15.Text = "InstallDate : " & memObj.InstallDate
    17. Label16.Text = "LastErrorCode : " & memObj.LastErrorCode
    18. Label17.Text = "Name : " & memObj.Name
    19. Label18.Text = "PNPDeviceID : " & memObj.PNPDeviceID
    20. Label19.Text = "PowerManagementCapabilities : " & memObj.PowerManagementCapabilities
    21. Label20.Text = "PowerManagementSupported : " & memObj.PowerManagementSupported
    22. Label21.Text = "PrimaryBusType : " & memObj.PrimaryBusType
    23. Label22.Text = "RevisionNumber : " & memObj.RevisionNumber
    24. Label23.Text = "SecondaryBusType : " & memObj.SecondaryBusType
    25. Label24.Text = "Status : " & memObj.Status
    26. Label25.Text = "StatusInfo : " & memObj.StatusInfo
    27. Label26.Text = "SystemCreationClassName : " & memObj.SystemCreationClassName
    28. Label27.Text = "SystemInfo : " & memObj.SystemInfo
    29. Next
    30. Catch ex As Exception
    31. MsgBox(ErrorToString)
    32. End Try


    Der Fehler ist diesmal "Ein Unbekannter Fehler"...
    Was mache ich Falsch ?

    LG
    Du hast den Code in einem Try Statement? Mach das weg.

    Nichts ist besser als das Error Handling der IDE.

    Automatischer Haltepunkt, markierung, Anzeige von Zeile und Zeichen und direkte Anzeige des Fehlercodes mit Einsicht aller lokaler Variablen.
    Besser geht es doch gar nicht :)

    Viele Grüße,
    Manawyrm

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manawyrm“ ()

    Code-Fresser schrieb:

    Bei For-Each passiert der Fehler
    Wozu brauchst Du ein For Each, wenn Du bei mehreren Objekten die Info in den Labels einfach überschreibst?
    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 wie das aussieht, versuchst du hier ja eine Datenstruktur darzustellen. Dafür benutzt man Bindings. Dein Code ist nach kurzen Überblick reinster Müll und ich würde dir empfehlen, das ganze neuanzufangen und dann direkt mit Databinding anzufangen. Hierzu eignet sich übrigens WPF durchaus sehr gut, da man dort das MVVM-Pattern gut "ausführen" kann. Zum Datenbinding hat EDR bereits im Forum unzählige Tutorials veröffentlicht.