Picturebox stürzt bei erneutem laden ab

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Kaze91.

    Picturebox stürzt bei erneutem laden ab

    Hallo Leute,
    hab hier ein Mega Problem was ich mir einfach garnicht erklären kann. Es geht um folgendes in einer Listbox stehen filme , wird nun ein film angeklickt (in der listbox verändert sich die auswahl) wird ein cover dazu auf der festplatte gesucht. es gibt 3 arten wie das cover heißen kann.

    Das funktioniert auch alles wunderbar folgende Fälle :

    Ich wähle einen film zu dem es kein cover gibt: er probiert 3 mal und gibt das errorimage aus (kein cover)
    das funktioniert auch so oft hintereinander wie ich möchte

    ich wähle einen film zu dem es ein cover in der form 2 gibt (i=2) , die erste form finded er nicht , die zweite finded er und zeigt das cover an -> prima =)

    wähle ich nach dem film einen ohne cover wieder aus funktionier das prima =)

    Und jetzt der Hammer wähle ich nachdem ich einmal einen Film mit gefunden Cover habe wieder einen mit Cover aus, stürzt das Programm komplett ab dem Punkt ab, ab dem es das Cover gibt (z.B i=3)
    Dann kommt auch keine Meldung in VB oder sonst was, ich muss das Programm über den Taskmanger beenden.

    Ich verstehe das nicht hoffe jemand von euch hat eine Idee.

    VB.NET-Quellcode

    1. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    2. picexist = False
    3. i = 1
    4. If i = 1 And picexist = False Then
    5. picture = ListBox1.SelectedItem
    6. picture = Replace(picture, ".ts", ".jpg")
    7. picturecheck()
    8. End If
    9. If i = 2 And picexist = False Then
    10. picture = (Label3.Text & "_" & Label5.Text)
    11. picture = Replace(picture, " ", "_")
    12. picture = Replace(picture, "-", "_")
    13. picture = Replace(picture, "'", "_")
    14. picture = (picture & ".jpg")
    15. picturecheck()
    16. End If
    17. If i = 3 And picexist = False Then
    18. picture = (Label5.Text)
    19. picture = Replace(picture, " ", "_")
    20. picture = Replace(picture, "-", "_")
    21. picture = Replace(picture, "'", "_")
    22. picture = (picture & ".jpg")
    23. picturecheck()
    24. End If
    25. If picexist = True Then
    26. PictureBox3.ImageLocation = ("ftp://" & My.Settings.User(index) & ":" & My.Settings.Password(index) & "@" & My.Settings.IP(index) & ":" & My.Settings.Port(index) & Movies & picture)
    27. logmessage = (TimeOfDay & " Uhr " & "Bild geladen : " & picture)
    28. Log()
    29. Else
    30. PictureBox3.ImageLocation = ("ftp://" & My.Settings.User(index) & ":" & My.Settings.Password(index) & "@" & My.Settings.IP(index) & ":" & My.Settings.Port(index) & Movies & picture)
    31. logmessage = (TimeOfDay & " Uhr " & "Kein Bild gefunden")
    32. Log()
    33. End If
    34. End Sub


    VB.NET-Quellcode

    1. Sub picturecheck()
    2. If picexist = False And i <= 3 Then
    3. Try
    4. Dim webreq As Net.FtpWebRequest = Net.FtpWebRequest.Create("ftp://" & My.Settings.IP(index) & ":" & My.Settings.Port(index) & Movies & picture)
    5. webreq.Credentials = New System.Net.NetworkCredential(My.Settings.User(index), My.Settings.Password(index))
    6. webreq.GetResponse()
    7. picexist = True
    8. logmessage = (TimeOfDay & " Uhr " & "Bild gefunden : " & picture)
    9. Log()
    10. Catch ex As Net.WebException
    11. MsgBox(ex.Message)
    12. i = i + 1
    13. logmessage = (TimeOfDay & " Uhr " & "Bild nicht gefunden : " & picture)
    14. Log()
    15. End Try
    16. End If
    17. End Sub
    Ich würde das Bild nach Temp downloaden, da ist das Verhalten bei Nicht-Existenz recht friedlich.
    Wenn das Bild da ist, kannste mit File.Exists() abtesten, weist Du es der PictureBox zu.
    Sieh Dir mal Deinen Quelltext an, da kannste noch wesentliche Teile zusammenfassen und damit verständlicher machen.
    Trenne außerdem GUI und daten, will sagen, pack die Image-Logation-URI zunächst in eine String-Variable, da kannst Du sie Dir vorher besser ansehen.
    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!
    Um es nachzuvollziehen, müsste ich die Pfade haben.
    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!

    RodFromGermany schrieb:

    Um es nachzuvollziehen, müsste ich die Pfade haben.

    Zum Glück hab ich die Logfunktion eingebaut.

    In der Sub ist der FTP Link 192.168.2.111:21/../tmp/media/sda1/movies/
    In der Picturebox username:passwort@192.168.2.11…edia/sda1/movies/bild.jpg (bildname siehst du unten im log)

    In dem Log habe ich dir mal makiert wo es funktioniert und wann es abstürzt . Blau es gibt kein Cover alles läuft, 1. grün es gibt ein cover das wird auch angezeigt. Dann kommen wieder die gelben ohne cover läuft super und sobald dann wieder eins mit cover kommt, egal auch das 1. grün das beim erstenmal läuft stürzt bei dem if ab, bei dem er wieder ein cover findet


    16:52:06 Uhr Das Programm wurde gestartet
    16:52:13 Uhr Get Movies
    16:52:13 Uhr Box : 1. Lisa Zee
    16:52:13 Uhr Index : 0
    16:52:13 Uhr slashes : /t
    16:52:13 Uhr Originalimage : False
    16:52:13 Uhr Es wurde ein /.. an den Anfang gesetzt
    16:52:13 Uhr Ftplink = 192.168.2.111:21/../tmp/media/sda1/movies/
    16:52:13 Uhr Ftp Verbindung wird aufgebaut
    16:52:13 Uhr Username: root
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: ProSieben_HD_Der_Mann__der_niemals_lebte20120819_201340.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: ProSieben_New_Moon___Biss_zur_Mittagsstunde20121118_201522.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: ProSieben_Rush_Hour_320121110_201300.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: RTL2_HD_Police_Academy_4___Und_jetzt_geht_s_rund20120729_201301.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: RTL2_HD_Police_Academy_5___Auftrag__Miami_Beach20120729_215300.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: RTL_HD_Der_Herr_der_Ringe___Die_zwei_Türme20121226_201538.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: RTL_HD_Harry_Potter_und_der_Stein_der_Weisen20121015_002900.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: RTL_HD_Zwölf_Runden20120707_201401.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: SAT.1_HD_Harry_Potter_und_der_Halbblutprinz20121020_201300.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: SAT.1_Harry_Potter_und_der_Orden_des_Phönix20121117_201300.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Action_HD_Death_Race_220120630_021501.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Cinema_HD_Green_Lantern20120630_215002.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Cinema_HD_Hangover_220120629_113002.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Cinema_HD_Harry_Potter_und_die_Heiligtümer_des_Todes_(Teil_2)20120630_161001.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Hits_HD_Basic_Instinct20120629_180502.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Hits_HD_Die_Legende_der_Wächter20120629_084000.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Hits_HD_Eclipse___Biss_zum_Abendrot20120629_063501.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Hits_HD_Harry_Potter_und_die_Heiligtümer_des_Todes_(Teil_1)20120628_201502.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: Sky_Xmas_HD_Pirates_of_the_Caribbean___Fremde_Gezeiten20121230_195900.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: TNT_Film_(TCM)_Harry_Potter_And_The_Chamber_Of_Secrets20120714_223900.ts
    16:52:13 Uhr File wurde zur Listbox hinzugefügt: VOX_Der_Herr_der_Ringe___Die_Gefährten20121214_013900.ts
    16:52:17 Uhr Folgender Film wurde ausgewählt : ProSieben_HD_Der_Mann__der_niemals_lebte20120819_201340.ts
    16:52:17 Uhr Lade XML Datei : ProSieben_HD_Der_Mann__der_niemals_lebte20120819_201340.xml
    16:52:17 Uhr Informationen zum Film wurden geladen
    16:52:17 Uhr Bild nicht gefunden : ProSieben_HD_Der_Mann__der_niemals_lebte20120819_201340.jpg
    16:52:17 Uhr Bild nicht gefunden : ProSieben_HD_Der_Mann,_der_niemals_lebte.jpg
    16:52:17 Uhr Bild nicht gefunden : Der_Mann,_der_niemals_lebte.jpg
    16:52:17 Uhr Kein Bild gefunden
    16:52:23 Uhr Folgender Film wurde ausgewählt : ProSieben_New_Moon___Biss_zur_Mittagsstunde20121118_201522.ts
    16:52:23 Uhr Lade XML Datei : ProSieben_New_Moon___Biss_zur_Mittagsstunde20121118_201522.xml
    16:52:23 Uhr Informationen zum Film wurden geladen
    16:52:23 Uhr Bild nicht gefunden : ProSieben_New_Moon___Biss_zur_Mittagsstunde20121118_201522.jpg
    16:52:23 Uhr Bild nicht gefunden : ProSieben_New_Moon___Biss_zur_Mittagsstunde.jpg
    16:52:23 Uhr Bild nicht gefunden : New_Moon___Biss_zur_Mittagsstunde.jpg
    16:52:23 Uhr Kein Bild gefunden

    16:52:40 Uhr Folgender Film wurde ausgewählt : Sky_Xmas_HD_Pirates_of_the_Caribbean___Fremde_Gezeiten20121230_195900.ts
    16:52:40 Uhr Lade XML Datei : Sky_Xmas_HD_Pirates_of_the_Caribbean___Fremde_Gezeiten20121230_195900.xml
    16:52:40 Uhr Informationen zum Film wurden geladen
    16:52:40 Uhr Bild nicht gefunden : Sky_Xmas_HD_Pirates_of_the_Caribbean___Fremde_Gezeiten20121230_195900.jpg
    16:52:40 Uhr Bild gefunden : Sky_Xmas_HD_Pirates_of_the_Caribbean___Fremde_Gezeiten.jpg
    16:52:40 Uhr Bild geladen : Sky_Xmas_HD_Pirates_of_the_Caribbean___Fremde_Gezeiten.jpg

    16:52:47 Uhr Folgender Film wurde ausgewählt : Sky_Cinema_HD_Green_Lantern20120630_215002.ts
    16:52:47 Uhr Lade XML Datei : Sky_Cinema_HD_Green_Lantern20120630_215002.xml
    16:52:47 Uhr Informationen zum Film wurden geladen
    16:52:47 Uhr Bild nicht gefunden : Sky_Cinema_HD_Green_Lantern20120630_215002.jpg
    16:52:47 Uhr Bild nicht gefunden : Sky_Cinema_HD_Green_Lantern.jpg
    16:52:47 Uhr Bild nicht gefunden : Green_Lantern.jpg
    16:52:47 Uhr Kein Bild gefunden
    16:52:51 Uhr Folgender Film wurde ausgewählt : Sky_Action_HD_Death_Race_220120630_021501.ts
    16:52:51 Uhr Lade XML Datei : Sky_Action_HD_Death_Race_220120630_021501.xml
    16:52:51 Uhr Informationen zum Film wurden geladen
    16:52:51 Uhr Bild nicht gefunden : Sky_Action_HD_Death_Race_220120630_021501.jpg
    16:52:51 Uhr Bild nicht gefunden : Sky_Action_HD_Death_Race_2.jpg
    16:52:51 Uhr Bild nicht gefunden : Death_Race_2.jpg
    16:52:51 Uhr Kein Bild gefunden

    16:52:59 Uhr Folgender Film wurde ausgewählt : Sky_Hits_HD_Eclipse___Biss_zum_Abendrot20120629_063501.ts
    16:52:59 Uhr Lade XML Datei : Sky_Hits_HD_Eclipse___Biss_zum_Abendrot20120629_063501.xml
    16:52:59 Uhr Informationen zum Film wurden geladen
    16:52:59 Uhr Bild gefunden : Sky_Hits_HD_Eclipse___Biss_zum_Abendrot20120629_063501.jpg
    16:52:59 Uhr Bild geladen : Sky_Hits_HD_Eclipse___Biss_zum_Abendrot20120629_063501.jpg

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

    Kaze91 schrieb:

    Zum Glück hab ich die Logfunktion eingebaut.
    Tut mir leid, ich bekomme da nur TimeOut.
    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!

    RodFromGermany schrieb:

    Um es nachzuvollziehen, müsste ich die Pfade haben.
    und auch zugreifen können. Inzwischen ist mir auch aufgefallen, dass der Server bei Dir lokal steht.
    Warum gehst Du da über FTP und nicht über ein Netzlaufwerk?
    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!

    RodFromGermany schrieb:

    Warum gehst Du da über FTP und nicht über ein Netzlaufwerk?


    Es handelt sich um einen Linux (Neutrino System welches nicht so umfangreich wie normale Betriebssysteme ist) Reciever der Aufnahmen auf eine externe Festplatte aufnimmt. Man kann diese Festplatten als Samba Server einbinden aber mein Programm soll es halt einfacher machen (bzw macht es einfacher ) die aufgenommenen Filme am Pc abzuspielen.

    Ich verstehe nur nicht , wie es möglich ist das ein Code durchläuft und dann der gleiche Code aufeinmal nicht mehr =(

    Kaze91 schrieb:

    die aufgenommenen Filme am Pc abzuspielen.
    Ich würde die Filme zum Abspielen auf einen USB-Stick kopieren. :D
    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!
    Hey ich wurde für das Programm im Forum des Recievers zum Premium User ernannt zieh das mal nicht so ins lächerliche ;D ^^

    Nur warum das sich immer aufhängt sobald ein 2. bild geladen wird verstehe ich einfach nicht

    Kann ich eine Picturebox vlt iwie komplett zurücksetzen sowas wie Clear oder so

    Kaze91 schrieb:

    zieh das mal nicht so ins lächerliche
    Was ist daran lächerlich?
    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!
    ;D ^^ deuten darauf hin , dass ich das nicht ernst gemeint habe

    Keiner eine Idee wieso es abstürzt? entferne ich if 2 und 3 und das bild wird bei 1 nur angezeigt geht es

    Hab jetzt mal etwas gewartet und in VB ein Timeout bekommen
    Hab mir das mal in die Zwischenablage kopiert:


    System.Net.WebException wurde nicht behandelt.
    HResult=-2146233079
    Message=Timeout für den Vorgang wurde überschritten.
    Source=System
    StackTrace:
    bei System.Net.WebClient.OpenRead(Uri address)
    bei System.Net.WebClient.OpenRead(String address)
    bei System.Windows.Forms.PictureBox.Load()
    bei CS_MS.Form1.ListBox1_SelectedIndexChanged(Object sender, EventArgs e) in C:\Users\Marc\Desktop\CSMS\CSMS\Form1.vb:Zeile 242.
    bei System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
    bei System.Windows.Forms.ListBox.WmReflectCommand(Message& m)
    bei System.Windows.Forms.ListBox.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    bei System.Windows.Forms.UnsafeNativeMethods.SendMessage(HandleRef hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    bei System.Windows.Forms.Control.SendMessage(Int32 msg, IntPtr wparam, IntPtr lparam)
    bei System.Windows.Forms.Control.ReflectMessageInternal(IntPtr hWnd, Message& m)
    bei System.Windows.Forms.Control.WmCommand(Message& m)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
    bei System.Windows.Forms.Form.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    bei System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    bei System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
    bei System.Windows.Forms.Control.DefWndProc(Message& m)
    bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.ListBox.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
    bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    bei System.Windows.Forms.Application.Run(ApplicationContext context)
    bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
    bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
    bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
    bei CS_MS.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
    bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
    bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    bei System.Threading.ThreadHelper.ThreadStart()
    InnerException:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Kaze91“ ()