Thread läd keine Datei hoch

  • VB.NET
  • .NET (FX) 4.0

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von iNikiii.

    Thread läd keine Datei hoch

    Guten Morgen,

    ich arbeite seit kurzem an einem Screenshot Programm und habe mich nocheinmal entschieden weiter zu machen,
    mein Problem ist, dass die Form freezed wenn ich einen Screenshot hochlade. Da dachte ich mir das könnte man ja ganz einfach mit einem Thread lösen, nur mit Thread kommt es immer zu einer error exception.
    Kann mir jemand erklären warum es nicht funktioniert und evtl. helfen es zu beheben, hintergedanke ist das die Form nicht freezed.
    Direkt dazu noch die Frage: Stoppt der Thread nach einem ablauf?^^

    Hier der Code:
    Form1:

    VB.NET-Quellcode

    1. Public t As New Thread(AddressOf UploadScreen)
    2. Public Sub UploadScreen()
    3. Dim linkstring = Base10to62(ScreenNumber)
    4. Randomstring = linkstring
    5. Dim wc As New Net.WebClient
    6. Try
    7. 'FTP Logins
    8. wc.Credentials = New Net.NetworkCredential(TextBox3.Text, TextBox2.Text)
    9. wc.UploadData(TextBox4.Text & Randomstring & ".png", pic2byte(PictureBox1))
    10. 'NotifyIcon Message
    11. picurl = (TextBox5.Text & Randomstring & ".png")
    12. NotifyIcon1.BalloonTipTitle = "Empty Divine"
    13. NotifyIcon1.BalloonTipText = picurl
    14. NotifyIcon1.ShowBalloonTip(1)
    15. Clipboard.SetText(picurl)
    16. PictureBox1.Image.Dispose()
    17. Catch ex As Exception
    18. NotifyIcon1.BalloonTipText = "Error! Try again!"
    19. NotifyIcon1.ShowBalloonTip(1)
    20. End Try
    21. End Sub


    Form2:

    VB.NET-Quellcode

    1. Private Sub Form2_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
    2. 'UNWICHTIGER CODE
    3. Form1.PictureBox1.Image = screenshot
    4. Form1.t.Start()
    5. End Sub

    iNikiii schrieb:

    Form1.PictureBox1.Image

    Instanziierung von Forms und Aufruf von Dialogen

    Dann setzt Du einfach so einen Text in die Zwischenablage ohne dass es einen Grund dazu gibt bzw. ohne dass der User es will. Ändere das.
    Was ist denn das Problem? Gibt es nen Fehler?

    iNikiii schrieb:

    Stoppt der Thread nach einem ablauf?^^

    Ja.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Murdock schrieb:

    Wenn du die Datei mit WebClient.UploadDataAsync hochlädst friert die form nicht ein. Das sieht auch iwie nach FTP aus, wenn es so ist mache es mit VB und PHP.

    Da kommt dieser Fehler:


    Trade schrieb:



    Dann
    setzt Du einfach so einen Text in die Zwischenablage ohne dass es einen
    Grund dazu gibt bzw. ohne dass der User es will. Ändere das.

    Meinst du generell oder wenn es nicht funktioniert? Sinn ist eigentlich dass man den Screenshot direkt nach dem Screenen z.B. einen Freund schicken kann.
    Ich meine es ist noch im Aufbau, momentan kann man nur FTP Server eingeben und Screenshots (von Fenstern, Region) machen oder Dateien hochladen.

    Hier noch die Exception:

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

    iNikiii schrieb:

    Sinn ist eigentlich dass man den Screenshot direkt nach dem Screenen z.B. einen Freund schicken kann.

    Dann mach nen kleines Auswahlmenü an der Seite, wo man den Link kopieren kann.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    iNikiii schrieb:

    Fehler
    machst Du New Uri("bla")
    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!

    Trade schrieb:


    Dann mach nen kleines Auswahlmenü an der Seite, wo man den Link kopieren kann.


    Ich werde den Einstellungen hinzufügen das man einstellen kann, ob der Link direkt in die Zwischenablage soll oder nicht, trotzdem danke für das 'Feedback'.
    Da es alles über Hotkeys läuft fänd ich es dennoch umständlich. Übrigens hab ich oben noch einmal den Fehler gepostet.