Programmfehler seit Windowsversion 1903

  • VB.NET
  • .NET 4.5

Es gibt 90 Antworten in diesem Thema. Der letzte Beitrag () ist von Westerwälder.

    C.O.D.E schrieb:

    Man muss erst einen Haltepunkt mit F9 setzen.
    Wenn Dein Programm in einer Endlosschleife läuft und Du hast keinen Haltepunkt, kannst Du es mit Ctrl+Break anhalten.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Komme mit der Log-Methode nicht weiter.

    Programm friert zu einem Zeitpunkt ein, wo keine Aufgaben (außer das Anzeige der aktuellen Uhrzeit) anstehen.
    Die nächste Aufgabe ist erst in ca. 3,5 Minuten (eMail-Eingang-Prüfung) nach dem Einfrieren.

    Warte auf die nächste Windowsversion in der Hoffnung, dass der Fehler dann nicht mehr auftritt.
    Weiß mir sonst keinen Rat mehr.

    Vielen Dank an alle (besonders Rod)
    Gruß Markus

    Westerwälder schrieb:

    Die nächste Aufgabe
    Was war denn die letzte Aufgabe?
    Wo kommen die 3 1/2 Minuten her?
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Das habe ich nun befürchtet ;)

    Ist halt jede Menge Code aus diversen Klassen.

    Wird alles in einem Timer gestartet.
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub Timer_Programmaktionen_Elapsed(sender As Object, e As ElapsedEventArgs) Handles Timer_Programmaktionen.Elapsed
    2. If Not ExeRuning Then Exit Sub
    3. If MB.Rechner.InEnergiesparmodus Then Exit Sub
    4. If MB.Rechner.WirdRuntergefahren Then Exit Sub
    5. For TP = 0 To Kontroll.Aktion.Datentabelle.Rows.Count - 1
    6. TPZeile = Kontroll.Aktion.Datentabelle.Rows(TP)
    7. If CBool(TPZeile("AW")) Then
    8. If CDate(TPZeile("Geplante_Aktion")) <= Now Then
    9. If My.Computer.Network.Ping(Einstellungen.Netzwerk_Pruefseite) Then
    10. If Not Einstellungen.Emailpruefung_Gesperrt Then
    11. If CBool(TPZeile("IE")) Then
    12. Internet.Email.Kontopruefen(CInt(TPZeile("Nummer")))
    13. Exit Sub
    14. End If
    15. End If
    16. If Not Einstellungen.Download_Gesperrt Then
    17. If CBool(TPZeile("DL")) Then
    18. If IsDBNull(TPZeile("Termin")) Then TPZeile("Termin") = Now.ToShortDateString
    19. If TPZeile("Termin").ToString = Nothing Then TPZeile("Termin") = Now.ToShortDateString
    20. Internet.Download.Starten(CInt(TPZeile("Nummer")), CDate(TPZeile("Termin")))
    21. Exit Sub
    22. End If
    23. Else
    24. Kontroll.Internet_Erledigt = True
    25. End If
    26. End If
    27. If Not Einstellungen.Datensicherung_Gesperrt Then
    28. If CBool(TPZeile("DS")) Then
    29. If Not MB.Datensicherung.Besetzt Then Daten.DatenSicherung.Starten(TPZeile)
    30. Exit Sub
    31. End If
    32. End If
    33. End If
    34. End If
    35. Next TP
    36. End Sub



    Edit:
    Wie bereits in Post #28 geschrieben, friert das Programm auch nach Deaktivierung aller Aufgaben nach ca. 70 Sekunden ein.
    Und immer nur beim Erstlauf.

    Gruß Markus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Westerwälder“ ()

    Guten Morgen,

    so wirklich glücklich bin ich mit dem Warten auf eine neue Windowsversion nicht.
    Wenn man das Programm jemanden vorführen möchte, muß es erst einmal crashen.

    Ich weiß meine Überlegungen haben nun nichts mehr mit guter Programmierung zu tun.
    Angenommen man schreibt eine neue Anwendungen mit allen Verweisen, welches das Hauptprogramm auch besitzt.
    Stellt diese neue Anwendung dann in den Autostart und beschäftigt es 70 Sekunden mit irgendwas,
    anschließend startet man das Hauptprogramm manuell.

    Edit:
    War ein erfolgloser Versuch.
    Hauptprogramm friert nach manuellen Erststart weiterhin ein.
    Gruß Markus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Westerwälder“ ()

    Wie bereits in meinem Eingangspost geschrieben:
    Microsoft Accsess database 2010 (German), hier habe die Microsoft Accsess database engine 2016 (Englisch) getestet, jedoch ohne Erfolg.
    Habe von Anfang an den Verdacht mit dieser database engine.

    In meiner Anwendung nutze ich: Public Provider As String = "Provider=Microsoft.ACE.OLEDB.12.0;"
    64 bit
    Hier arbeite ich nicht mit Datenquellen sondern verarbeite die Daten manuell.
    Nun habe ich ein Testprogramm (AnyCPU) erstellt und wollte eine Datenquelle (Accsess 2016) hinzufügen.
    Fehlermeldung: Der Microsoft.ACE-OLEDB.12.0-Provider ist auf ihrem PC nicht installiert.

    Testweise habe ich die Database engine 64 bit gegen die 32 bit ersetzt.
    Nun kann ich in dem neuen Testprogramm eine Verbindung zur Datenbank herstellen,
    aber mein Hauptprogramm kann nun keine Daten mehr aus der Datenbank lesen (braucht wohl die engine 64 bit)
    Gruß Markus
    Heute habe ich versucht ein Excel-Dokument zu drucken, hier erhalte ich nun folgenden Fehler:

    Das COM-Objekt des Typs ""Microsoft.Office.Interop.Excel.ApplicationClass"" kann nicht in den Schnittstellentyp ""Microsoft.Office.Interop.Excel._Application"" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID ""{000208D5-0000-0000-C000-000000000046}"" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Fehler beim Laden der Typbibliothek/DLL. (Ausnahme von HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY))."}System.InvalidCastException

    Ist dies nicht wieder ein Hinweis auf einen Fehler oder falsche database?
    Gruß Markus

    Westerwälder schrieb:

    Fehler oder falsche database?
    Das sieht eher nach einer neueren Engine mit einem neuen Interface aus.
    Such mal nach dem Interface zu dieser Version.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    @Westerwälder War doch schon da:
    alt: Microsoft.Office.Interop.Excel.ApplicationClass
    neu: Microsoft.Office.Interop.Excel._Application
    Es sieht mir eher aus, als wolltest Du den falschgen Typ zuweisen.
    Poste mal den Code und die genaue Version der verwendeten Engine.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. ExcelApp = New Application
    2. ExcelBuch = ExcelApp.Workbooks.Open(Pfade.Formular.Pfad & "1024.xlsx") ' hier tritt der Fehler auf


    Microsoft Accsess database 2010 (German)

    Office 365 - 2016 (64 bit)

    VB.NET-Quellcode

    1. Imports System.ComponentModel
    2. Imports Microsoft.Office.Interop
    3. Imports Microsoft.Office.Interop.Excel
    4. Private ExcelApp As Application
    5. Private ExcelBuch As Workbook
    6. Private ExcelSeite As Worksheet

    Gruß Markus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Westerwälder“ ()

    @Westerwälder da fehlt noch die Zuweisung Deiner Variablen.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!