Programmabsturz

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Programmabsturz

    Hallo nochmal
    leider habe ich schon wieder ein neues problem.
    Habe jetzt dazu nur gelesen, tuts angesehen und rumgegoogelt
    aber dazu nichts passendes gefunden (vielleicht doch gefunden aber nicht erkannt)
    Aus eine Access DB werden aus einer Tabelle Integerwerte ausgelesen.
    die dazugehörigen items werden nun auch ornubgsgemäß im Datagridview angezeigt.
    Mit Hilfe vom "Erfinder des Rades" ist es mir gelungen das Item ter Tabelle anzuzeigen.
    Spalten Bearbeiten> Textbox als Combobox deklarieren > DataSource, DisplayMember, ValueMember und SelectedValue einstellen>
    anschließend
    DisplayStyle auf Nothing stellen und schon werden die Items angezeigt.
    Funktioniert prächtig

    Nur beim Beenden des Programms, oder wenn das grid den Fokus verliert kommt es zu einem
    Crach --ohne Fehlermeldung
    Ich vermute, das der Inhalt der Spalte, der ja nun geändert ist wieder in die DB zurückgeschrieben werden soll
    und da der inhalt nun ein Text ist kommt es zum Absturz.
    liege ich da richtig oder mache ich einen Denkfehler
    und wie kann ich das beheben.
    Gruß
    Alf
    du liegst nicht richtig.
    ABstürze ohne Fehlermeldung sind sehr selten, meist liegts daran, dass etwas gecodet ist, was die Fehlermeldung verschluckt.
    Also einfach alle TryCatchens entfernen - das ist grad das einzige, was mir einfällt.

    Tatsächlich glaube ich nicht recht an einen Absturz ganz ohne Fehlermeldung - ist es wirklich so, dass dein Proggi einfach schließt und aus?
    Nein der Bildschirm wird blass und nach einiger zeit rührt sich nichts mehr.
    und, von einem Proggi bin ich noch weit entfernt.
    Ich soll in unserer Fa. ein von mir geschriebenes Proggi (VB6) umcoden.
    Zeit habe ich solange ich will. Nur keine bis wenig Ahnung von .Net
    Habe einen tollen Rechner 64bit mit vb.net mit nach hause bekommen.
    ......so. nu mach mal
    Ber Ausfall von meinen jetzigen versuchen kommt von der Einfärbung einer Spalte
    hab mir da was zusammengebastelt.
    das Funktioniert auch bis zum Absturz
    Ich leg den Code hier mal rein, vielleicht weiss ja jemand von euch wo da der Fehler liegt.
    Die zellen werden farbig ganz nach wunsch, aber dann hakt es

    VB.NET-Quellcode

    1. Private Sub einfärben()
    2. Dim CellWert As Object
    3. Dim CellFarbe As Color
    4. Dim CellFFarbe As Color
    5. With DataGridView1
    6. For I As Integer = 0 To DataGridView1.Rows.Count - 1
    7. CellWert = DataGridView1.Rows(I).Cells(3).Value
    8. Select CellWert
    9. Case 1
    10. CellFarbe = Color.Yellow
    11. CellFFarbe = Color.Black
    12. Case 2
    13. CellFarbe = Color.Red
    14. CellFFarbe = Color.White
    15. Case 3
    16. CellFarbe = Color.Blue
    17. CellFFarbe = Color.White
    18. End Select
    19. DataGridView1.Rows(I).Cells(3).Style.BackColor = CellFarbe
    20. DataGridView1.Rows(I).Cells(3).Style.ForeColor = CellFFarbe
    21. Next
    22. End With


    So, hatte Nachtschicht geh erst mal schlafen
    Gruß
    Alf

    Alf schrieb:

    Bildschirm wird blass und nach einiger zeit rührt sich nichts mehr
    Das klingt arg nach einfrieren. Führ deine Anwendung noch einmal aus und wenn das dann wieder passiert, klickst du den Pause-Knopf im VisualStudion an. Dann siehst du genau wo es hakt.
    Mit freundlichen Grüßen,
    Thunderbolt
    So hab im eingefrorenen Zustand auf Pause gestellt
    1.versuch
    das ergebnis
    mscorlib.pdb nicht geladen
    hab das nachgeholt
    2.versuch

    Im Formdesigner wird nunangezeigt

    VB.NET-Quellcode

    1. Partial Class PA2
    2. Inherits System.Windows.Forms.Form
    3. 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
    4. <System.Diagnostics.DebuggerNonUserCode()> _
    5. Protected Overrides Sub Dispose(ByVal disposing As Boolean)
    6. Try
    7. If disposing AndAlso components IsNot Nothing Then
    8. components.Dispose()
    9. End If
    10. Finally
    11. MyBase.Dispose(disposing)
    12. End Try
    13. End Sub


    so, muss gleich in die Firma
    -Nachtschicht-
    melde mich morgen wieder
    Alf
    In welcher Zeile genau? Und stürzt das Programm jetzt ab oder friert es nur ein? Das ist ein Unterschied. Letzteres könnte auf z.B. einen Deadlock hinweisen oder auf einen Vorgang welcher kein Timeout verwendet.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.