Hallo VB-Paradise ![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Ich habe da ein kleines Problem mit der unrar.dll.
Ich entpacke also mein Archive und wenn es fertig ist möchte ich es löschen.
Das löschen versuche ich über Io.File.Delete aber die datei "wird von einem anderen Prozess benutzt", wie kann ich also die rar "schließen" um sie zu löschen?
Hier ist mal mein Code:
Ich habe versucht die DeleteRAR Sub in dem Unpacked() event zu nutzen - erfolgslos...
Vielen dank für die Hilfe schonmal![:P](https://www.vb-paradise.de/wcf/images/smilies/tongue.png)
Und was ist der unterschied zwischen VB2010/12 und VB.net? Ich dachte VB6 wäre das letzte PureBasic Studio.
MFG
Dustin~
![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Ich habe da ein kleines Problem mit der unrar.dll.
Ich entpacke also mein Archive und wenn es fertig ist möchte ich es löschen.
Das löschen versuche ich über Io.File.Delete aber die datei "wird von einem anderen Prozess benutzt", wie kann ich also die rar "schließen" um sie zu löschen?
Hier ist mal mein Code:
VB.NET-Quellcode
- Imports RARNET
- Imports System.ComponentModel
- Public Class frmMain
- Public WithEvents downloader As New System.Net.WebClient
- Private Sub list_emus_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles list_emus.SelectedIndexChanged
- lb_ready.Text = "Ready to download " & list_emus.SelectedItem & "!"
- End Sub
- Private Sub bt_start_download_Click(sender As System.Object, e As System.EventArgs) Handles bt_start_download.Click
- If My.Computer.Network.IsAvailable = True Then
- frmDownloader.Show()
- Dim url As String
- Dim output As String '= "D:\Projekte\Emulator Suite\test.rar"
- output = tb_save_path.Text & "\emu.rar"
- MsgBox(output)
- 'Check listbox and choose url
- url = "mein_dl_link"
- downloader.DownloadFileAsync(New Uri(url), output)
- Else
- MsgBox("ERROR" & vbNewLine & "There was a problem with your Internet connection!", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
- End If
- End Sub
- Private Sub downloader_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles downloader.DownloadProgressChanged
- frmDownloader.ProgressBar1.Value = e.ProgressPercentage
- frmDownloader.lb_percent_download.Text = e.ProgressPercentage & "%"
- End Sub
- Private Sub downloader_downloadComplete(sender As Object, e As AsyncCompletedEventArgs) Handles downloader.DownloadFileCompleted
- MsgBox("Download Complete!" & vbNewLine & "The file will now be extracted.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
- startExtract(tb_save_path.Text & "\emu.rar", tb_save_path.Text)
- End Sub
- Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- End Sub
- Public Sub startExtract(ByVal INPUT As String, ByVal Output As String)
- Dim d As New Decompressor(input)
- AddHandler d.OnUnpack, AddressOf Unpacked
- AddHandler d.Unpacking, AddressOf InProgress
- d.UnPackAll(output)
- End Sub
- Public Sub Unpacked(ByVal r As Decompressor.RAREntry)
- MsgBox("The " & list_emus.SelectedItem & " Emulator is downloaded and extracted.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
- frmDownloader.Hide()
- DeleteRAR(tb_save_path.Text & "\emu.rar")
- End Sub
- Public Sub InProgress(ByVal fTotalFileSize As Long, ByVal fUnpacked As Long, ByRef Disposition As RARNET.Decompressor.RarDisposition)
- If fTotalFileSize = 0 Then Exit Sub
- If fTotalFileSize = 0 Then Me.Dispose(True)
- frmDownloader.ProgressBar2.Value = CInt(CDbl(Format(fUnpacked / fTotalFileSize)) * 100)
- frmDownloader.lb_percent_extract.Text = CInt(CDbl(Format(fUnpacked / fTotalFileSize)) * 100) & "%"
- frmDownloader.Refresh()
- End Sub
- Public Sub DeleteRAR(ByVal path As String)
- Threading.Thread.Sleep(2000)
- IO.File.Delete(path)
- End Sub
- Private Sub bt_save_browse_Click(sender As System.Object, e As System.EventArgs) Handles bt_save_browse.Click
- Dim fbd As New FolderBrowserDialog
- If fbd.ShowDialog = Windows.Forms.DialogResult.OK Then
- tb_save_path.Text = fbd.SelectedPath
- End If
- End Sub
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- DeleteRAR(tb_save_path.Text & "\emu.rar")
- End Sub
- End Class
Ich habe versucht die DeleteRAR Sub in dem Unpacked() event zu nutzen - erfolgslos...
Vielen dank für die Hilfe schonmal
![:P](https://www.vb-paradise.de/wcf/images/smilies/tongue.png)
Und was ist der unterschied zwischen VB2010/12 und VB.net? Ich dachte VB6 wäre das letzte PureBasic Studio.
MFG
Dustin~
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Hansbald“ ()