Visualizzazione risultati 1 fino 11 di 11

Discussione: [VB] TargetInvocationException

  1. #1
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito [VB] TargetInvocationException

    Ciao a tutti!
    Dopo quasi un'anno di C++ mi sono buttato sul VB.

    ho un problema nel seguente script che aggiorna il programma da me creato.

    Codice:
    Imports System.Windows.Forms
    Imports System.Net
    Imports System.IO
    'Imports System.Text
    
    
    Public Class Aggiornamento
        Public WithEvents TCP As New System.Net.WebClient
        Public Sub PrgChngd(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles TCP.DownloadProgressChanged
            progresso.Minimum = 0
            progressoLabel.Text = e.ProgressPercentage() & "%" 'restituisce la percentuale del download
            progresso.Maximum = e.TotalBytesToReceive() 'restituisce il numero dei Byte da ricevere
            progresso.Value = e.BytesReceived()
    
        End Sub
        Private Sub PrgComplete(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles TCP.DownloadFileCompleted
            If e.Cancelled = True Then
                'il download è stato cancellato
            Else
                'il download è stato completato
                progresso.Visible = False
                progressoLabel.Visible = False
                Dim file_exe
                file_exe = Shell("c:\m93spnl_last.exe", vbMaximizedFocus)
            End If
        End Sub
    
        Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
            Me.Close()
        End Sub
    
        Private Sub Aggiornamento_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.Cursor = Cursors.WaitCursor
            Application.DoEvents()
    
            Try
                ' Make a WebClient.
                Dim web_client As WebClient = New WebClient
    
                ' Get the indicated URI.
                Dim response As Stream = web_client.OpenRead("http://matt93.altervista.org/vb8/last_version.txt")
    
                ' Read the result.
                Dim stream_reader As New IO.StreamReader(response)
                UltimaVersione.Text = "Ultima Versione Disponibile: " + stream_reader.ReadToEnd()
    
                ' Close the stream reader and its underlying stream.
                stream_reader.Close()
            Catch ex As Exception
                UltimaVersione.Text = "Ultima Versione Disponibile: N/D"
                Errori.Text = "Errore Di connessione al server: " + vbCrLf + ex.Message
            End Try
    
            Me.Cursor = Cursors.Default
        End Sub
    
        Private Sub Aggiorna_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Aggiorna_Button.Click
            progresso.Visible = True
            progressoLabel.Visible = True
            TCP.DownloadFileAsync(New Uri("http://matt93.altervista.org/vb8/last_version.exe"), "c:\m93spnl_last.exe")
        End Sub
    End Class
    in poche parole appena deve partire l'esecuzione del file scaricato mi da target exception.... cosa vuol dire???

  2. #2
    Guest

    Predefinito

    Hai dato troppo poche informazioni...
    Comunque prova a sostituire
    Codice:
    Shell("c:\m93spnl_last.exe", vbMaximizedFocus)
    con
    Codice:
    System.Diagnostics.Process.Start("c:\m93spnl_last.exe")
    Ciao
    Ultima modifica di giuseppeiemma : 17-03-2009 alle ore 23.51.53

  3. #3
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    niente ^^
    ecco l'errore che ricevo:


  4. #4
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Debug! (non l'utente)

    Dove ti va in errore?
    immagino TCP.DownloadFileAsync
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  5. #5
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    nessun errore, quando dovrebbe partire l'esecuzione del file scaricato da' quella finestra ^^

  6. #6
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    ok, ma il problema sembra essere che non riesce a raggiungere o scaricare il file remoto, essendo asincrono l'errore non lo da nell'aggiorna.

    Prova a mettere un try catch nella PrgComplete e vedere che errore ti restituisce.
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  7. #7
    Guest

    Predefinito

    Io premerei anche "View Detail" ;-)

    Inoltre, prima di avviare l'eseguibile, sarebbe opportuno controllare che l'eseguibile stesso esista...

  8. #8
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    ecco cosa vedo con View Detail:

    Codice:
    System.Reflection.TargetInvocationException was unhandled
      Message="Eccezione generata dalla destinazione di una chiamata."
      Source="mscorlib"
      StackTrace:
           in System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
           in System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
           in System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
           in System.Delegate.DynamicInvokeImpl(Object[] args)
           in System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
           in System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
           in System.Threading.ExecutionContext.runTryCode(Object userData)
           in System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
           in System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
           in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           in System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
           in System.Windows.Forms.Control.InvokeMarshaledCallbacks()
           in System.Windows.Forms.Control.WndProc(Message& m)
           in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           in System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           in System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
           in System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
           in System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           in System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           in System.Windows.Forms.Application.Run(ApplicationContext context)
           in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
           in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
           in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
           in Matt93sPanel.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:riga 81
           in System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           in System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           in Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           in System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           in System.Threading.ThreadHelper.ThreadStart()
      InnerException: System.ComponentModel.Win32Exception
           Message="Parametro non corretto"
           Source="System"
           ErrorCode=-2147467259
           NativeErrorCode=87
           StackTrace:
                in System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
                in System.Diagnostics.Process.Start()
                in System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
                in System.Diagnostics.Process.Start(String fileName)
                in Matt93sPanel.Aggiornamento.PrgComplete(Object sender, AsyncCompletedEventArgs e) in C:\Documents and Settings\Proprietario\Desktop\mattia\VB7\Matt93sPanel\Matt93sPanel\Matt93sPanel\Aggiornamento.vb:riga 23
                in System.Net.WebClient.OnDownloadFileCompleted(AsyncCompletedEventArgs e)
                in System.Net.WebClient.DownloadFileOperationCompleted(Object arg)
           InnerException:
    @binarysun: non ho capito ciò che intendi ^^

  9. #9
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Praticamente intendevo quello che hai fatto.
    Quando un componente va in errore genera un eccezione che solitamente contiene anche una descrizione dell'errore che l'ha generata, permettendoti di risalire al problema.

    L'errore cmq sembra generato da un "parametro non corretto".

    Fai una prova al posto di DownloadFileAsync usa TCP.DownloadFile, lo scarichi in modo sincrono.
    In questo modo dovrebbe andare subito in errore più leggibile immagino.
    Le miei sono solo ipotesi, sinceramente non l'ho mai usata questa funzione e non ti sodire.
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  10. #10
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    nulla, il programma si blocca senza dare nessun errore nel debug...

  11. #11
    Guest

    Predefinito

    Forse ti conviene procedere a piccoli passi; mi spiego meglio:
    commenta tutte le righe non essenziali come quelle relative alla ProgeressBar ecc...
    il file viene scaricato correttamente?
    Se si, prova ad avviarlo "manualmente"; commenta le due righe:
    Dim file_exe
    file_exe = Shell("c:\m93spnl_last.exe", vbMaximizedFocus)
    Così hai più possibilità di individuare l'errore...

    Ciao

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •