arithmetische Operation hat einen Überlauf

  • VB.NET

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

    arithmetische Operation hat einen Überlauf

    Hey,
    ich habe folgendes Problem

    VB.NET-Quellcode

    1. Private Sub kopier_prozess()
    2. Dim srcStream As IO.FileStream = IO.File.Open(source, IO.FileMode.Open, IO.FileAccess.Read)
    3. Dim destStream As IO.FileStream = IO.File.Open(destination, IO.FileMode.Create, IO.FileAccess.Write)
    4. Dim reader As New IO.BinaryReader(srcStream)
    5. Dim writer As New IO.BinaryWriter(destStream)
    6. While (srcStream.Length > destStream.Length)
    7. Dim bytes() As Byte
    8. If (srcStream.Length > destStream.Length + bufferSize) Then
    9. bytes = reader.ReadBytes(bufferSize)
    10. writer.Write(bytes, 0, bytes.Length)
    11. Else
    12. bytes = reader.ReadBytes(srcStream.Length - destStream.Length)
    13. writer.Write(bytes, 0, bytes.Length)
    14. End If
    15. writer.Flush()
    16. RaiseEvent onProgress(destStream.Length, srcStream.Length)
    17. End While
    18. reader.Close()
    19. writer.Close()
    20. RaiseEvent onFinish()
    21. End Sub


    Bei

    Quellcode

    1. RaiseEvent onProgress(destStream.Length, srcStream.Length)

    tritt eine System.OverflowException auf.

    Wie kann ich die beheben? - Ich weiß nämlich nicht genau wieso hier etwas überläuft..
    ManageMe Minecraft Server Zum schnellen Erstellen und Verwalten von eigenen Minecraft Servern!
    @petaod Jou.

    discounter schrieb:

    Wie kann ich die beheben?
    Was ist Stream.Length für ein Datentyp?
    Welchen Datentyp empfängst Du im Eventhandler?
    Pack die Reader, Writer je in einen Using-Block.
    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!

    Rainman schrieb:

    Danach
    Für alle neuen Projekte als Standard.
    Für das aktuelle Projekt: Projekt -> Eigenschaften -> kompilieren.
    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!