Exemple #1
0
    public void AsyncExec(object state)
    {
        string[] args = ((string)state).Split(';');

        int tNum = Thread.CurrentThread.GetHashCode();

        Console.WriteLine("AsyncExec {0} - Thread {1}", args[1], tNum);

        Copiar cp = new Copiar();

        CopiarArquivoDelegate cd = new CopiarArquivoDelegate(cp.CopiarArquivo);

        AsyncCallback cb = new AsyncCallback(cp.CopiarCallback);

        Formulário form = new Formulário();

        form.Text = args[1];

        IAsyncResult iar = cd.BeginInvoke(args[1], args[0], form, cb, cd);

        form.ShowDialog();

        if (form.IsCanceled && VerificarSeArquivoExiste(form.Text))
        {
            iar.AsyncWaitHandle.WaitOne();

            File.Delete(form.Text);
        }
    }
Exemple #2
0
    public void CopiarCallback(IAsyncResult iar)
    {
        CopiarArquivoDelegate af = (CopiarArquivoDelegate)iar.AsyncState;

        af.EndInvoke(iar);
    }