Při spuštění File not found, přitom soubor existuje   zodpovězená otázka

VB.NET

Zdravim,

mám tenhle kód:

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim cesta As String = InputBox("Vložte adresu souboru na internetu")
        If cesta <> Nothing Then
            Dim cestaOff As String = Application.StartupPath & "\" & IO.Path.GetFileName(cesta)
            If IO.File.Exists(cestaOff) = True Then IO.File.Delete(cestaOff)
            My.Computer.Network.DownloadFile(cesta, cestaOff)
            MsgBox("Soubor " & cestaOff & " existuje ? " & IO.File.Exists(cestaOff))
            Shell(cestaOff)
        End If
    End Sub
End Class

a když to nakopnu tak mi to píše že soubor nenalezen a sekne se to u jeho spuštění

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak krokujte. Zkuste jestli se soubor opravdu stáhnul, jestli máte správnou cestu, jestli jde soubor po zadání adresy do prohlížeče stáhnout atp. Musíte rozložit kód kusy a najít konkrétní příkaz, který nedělá to, co má. Přezkoumejte parametry a zkuste se zeptat konkrétně. Například: volám funkci xyz s parametrem tím a tím, soubor v cestě ta a ta neexistuje, ale jako výsledek dostávám to a to. Uděláte tím za nás práci, kterou dělat nechceme (a hlavně ani na dálku nemůžeme) - zjistěte konkrétní podrobnosti.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Kod jsem přiložil celý a napsal jsem že to chybuje u funkce Shell.

Dám tam cestu napevno a uvidí se.

a jestli si někdo nevšiml mám tam kontrolu jestli soubor existuje, vždy to píše že existuje, zvláštní.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Takže máte jistotu, že soubor existuje a cesta je správná. Zkuste tedy místo shell použít třídu Process (vnitřně dělá shell ale asi to samé):

System.Diagnostics.Process.Start("C:\program.exe")
nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

process.start funguje, ale mě by zajmalo proč nefunguje ten shell :)

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Tak se to asi nedozvim no když máte takovejhle přístup teda...

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Máte pravdu, jsem hrozně zlej. Jak jsem si mohl jen dovolit vám ihned neodpovědět? A mimochodem máte ban za porušování pravidel publikování. Konkrétně za arogantní chování. Nikdo není povinen vám tu pomáhat, tak se podle toho příště zkuste chovat.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback