コード例 #1
0
ファイル: Form1.cs プロジェクト: marcellodash/xrns2xmod
        private void backgroundWorker1_DoWork_ProcessModule(object sender, DoWorkEventArgs e)
        {
            // Do not access the form's BackgroundWorker reference directly.
            // Instead, use the reference provided by the sender parameter.
            BackgroundWorker bw = sender as BackgroundWorker;

            // Extract the argument.
            ConvertXrnsArgs bwArgs = (ConvertXrnsArgs)e.Argument;

            bw.ReportProgress(0);

            e.Result = ParseModule(bwArgs.FileType, bw, e);

            bw.ReportProgress(99, "Writing output file..");

            Utility.SaveByteArrayToFile(bwArgs.FileName, (byte[])e.Result);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: marcellodash/xrns2xmod
        private void RunBWorker4WritingModule(string fileName, FileType fileType)
        {
            BackgroundWorker1.DoWork -= backgroundWorker1_DoWork_ProcessModule;
            BackgroundWorker1.DoWork -= backgroundWorker1_DoWork_LoadFile;
            BackgroundWorker1.DoWork += backgroundWorker1_DoWork_ProcessModule;

            BackgroundWorker1.RunWorkerCompleted -= backgroundWorker1_RunWorkerCompleted_LoadFile;
            BackgroundWorker1.RunWorkerCompleted -= backgroundWorker1_RunWorkerCompleted_ProcessModule;
            BackgroundWorker1.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted_ProcessModule;

            ConvertXrnsArgs bwArgs = new ConvertXrnsArgs();

            bwArgs.FileName = fileName;
            bwArgs.FileType = fileType;

            // call backgroundWorker1_DoWork_ProcessModule
            // at end backgroundWorker1_RunWorkerCompleted_ProcessModule
            BackgroundWorker1.RunWorkerAsync(bwArgs);
        }