Skocz do zawartości

VB.net - Visual studio


Recommended Posts

Witam, piszę launcher w języku vb i mam problem.

Launcher ma ściągać pliki i podczas ściągania program się zawiesza.

 

Do ściągania używam takiego cuda:

 

My.Computer.Network.DownloadFile(New Uri("url"), xxx)

 

Domyślam się że muszę zrobić do tego oddzielny wątek, i tu pojawia się problem przejrzałem google i nie do końca sobie nadal radzę, wszędzie tam piszą o problemach, ale nie jak zrobić.

Tak więc bardzo proszę o jakieś rady jak napisać ten oddzielny wątek, a może skorzystać z czegoś innego, by podczas tej procedury nie zawieszało programu ;)

 

Próbowałem z opcją WebClient:

Imports System.Net

 

Public WithEvents download As WebClient

download = New WebClient

download.DownloadFileAsync(New Uri ...

 

 

lecz wtedy miewam problem, gdyż pobranego pliku nie chce załadować.

Mianowicie wygląda to tak:

 

 

Dim aktualnosci As String = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "folder/aktualnosci.txt")

 

If My.Computer.FileSystem.FileExists(aktualnosci) Then
            My.Computer.FileSystem.DeleteFile(aktualnosci)
            Pobierz = New WebClient
            Pobierz.DownloadFileAsync(New Uri("url"), aktualnosci)
 
        Else
            Pobierz.DownloadFileAsync(New Uri("url"), aktualnosci)
        End If
        RichTextBox1.LoadFile(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "folder/aktualnosci.txt"), RichTextBoxStreamType.PlainText)
 
 
Rozumiem iż nie da się zrobić tak by kontynuowało tamten proces 
tylko musze robić:
Private Sub Pobierz_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles Pobierz.DownloadFileCompleted
 
i tutaj wpisywać to: 
 
RichTextBox1.LoadFile(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "folder/aktualnosci.txt"), RichTextBoxStreamType.PlainText)
 
 
? Proszę o pomoc :)


Uff nie ważne, po 2 dniach walki poradziłem sobie, chodziło o to iż formuła DownloadFileAsync nie stworzy ścieżki która nie istnieje tak jak My.Computer.Network.DownloadFile.

Do tego celu użyłem:  My.Computer.FileSystem.CreateDirectory

Edytowane przez Rexlu
Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...