Oppure

Loading
17/07/09 10:08
fosforo
Ciao a tutti
Ecco il codice che sto provando per lanciare un processo che mi copi un file:

Process.Start(System.IO.File.Copy (origine,destinazione))

Non funziona e non riesco a capire se la cosa è fattibile.
aaa
17/07/09 10:28
riseofapocalypse
Perchè utilizzare un processo e non un Thread?
Dim t As New Threading.Thread(AddressOf Copia)
t.Start

E poi:
Sub Copia()
     IO.File.Copy(origine, destinazione)
End Sub

Dovrebbe funzionare... :k:

P.S. La cosa che facevi tu è totalmente sbagliata :)
Ultima modifica effettuata da riseofapocalypse 17/07/09 10:29
aaa
17/07/09 10:48
fosforo
Errore    1    Risoluzione dell'overload non riuscita perché nessun 'New' accessibile può essere chiamato con questi argomenti:
'Public Sub New(start As System.Threading.ParameterizedThreadStart)': La firma del metodo 'Public Sub CopyMov(NomeFile1 As Object, SoloNome As Object)' non è compatibile con il delegato 'Delegate Sub ParameterizedThreadStart(obj As Object)'.
'Public Sub New(start As System.Threading.ThreadStart)': La firma del metodo 'Public Sub CopyMov(NomeFile1 As Object, SoloNome As Object)' non è compatibile con il delegato 'Delegate Sub ThreadStart()'.    C:\Documents and Settings\piero\Desktop\Bat\Module1.vb    69    13    Render_Bat
aaa
17/07/09 11:01
riseofapocalypse
Hai aggiunto dei parametri alla procedura Copia giusto? Tuttavia, con i Thread la questione è diversa: infatti se non usi un trucchetto, puoi passare un solo parametro in questo modo:
Dim t as new Threading.Thread(AddressOf Copia)
t.Start(parametro)

Il trucchetto di cui parlavo è passare come parametro un array di String nel tuo caso:
Dim t As New Threading.Thread(AddressOf Copia)
t.Start(New String() {origine, destinazione})

E la procedura ha questo parametro:
Sub Copia(ByVal parametri() As String)
     IO.File.Copy(parametri(0), parametri(1))
End Sub

Spero di essere stato chiaro... :k:
aaa
17/07/09 11:04
manvb.net
Edit:
Scusate ho sbagliato sono sovrappensiero.
Ultima modifica effettuata da manvb.net 17/07/09 11:06
aaa
17/07/09 13:22
fosforo
A questo punto non ci capisco + nulla

Come posso fare?
é giusto il consiglio di Rise??
Ultima modifica effettuata da fosforo 17/07/09 13:25
aaa
17/07/09 13:33
manvb.net
Si è giusto, sono io che ho sbagliato a rispondere ma qui i messaggi non si possono cancellare.
aaa
17/07/09 13:37
riseofapocalypse
Anzichè chiedere se è giusto il consiglio, perchè non lo provi tu stesso? XD
Comunque mi sono dimenticato di spiegarti una cosa! Ti ricordi che all'inizio ti avevo detto che quel:
Process.Start(IO.File.Copy(origine, destinazione))

Era completamente sbagliato? Bene, ti spiego il perchè :) Process.Start() accetta come parametro principale una stringa contenente il nome del processo da avviare, quindi già da questo dovresti capire l'errore :rotfl: inoltre se avessi voluto creare un processo per la copia del file, avresti dovuto creare proprio un nuovo progetto! Un po' dispendioso no? :D

P.S. Eccoti la documentazione riguardo Process.Start() msdn.microsoft.com/it-it/library/… :k:
Ultima modifica effettuata da riseofapocalypse 17/07/09 13:39
aaa