■50417 / inTopicNo.1) |
BackgroundWorkerで実施する処理に複数引数 |
□投稿者/ やんまー (11回)-(2010/06/07(Mon) 01:53:40)
|
分類:[VB.NET/VB2005 以降]
重い処理をBackgroundWorkerでバックグラウンドに回そうとしているのですがうまくいかず困っています。。。
実は、その重い処理の中では、フォーム上のtextboxなどの値を読み取る処理も入っていて、 読み取ろうとしたところで止まってしまいます。。。
バックグラウンド処理ではフォーム上にアクセスしてはいけないとのことでしたので、 引数で渡してやればいいのか・・・と思ったのですが、複数渡す必要があり、私の知識ではうまくすることができませんでした><
いろいろ探して
http://homepage1.nifty.com/rucio/commu/ThreadDetail_ThreadId_8979.htm
の情報から
>'配列に放り込んで渡す >BackgroundWorker1.RunWorkerAsync(New Object() {"a", "b", "c", 1, 2, 3})
とのことでしたので
backgroundWorker1.RunWorkerAsync(new Object(){ aaa , bbb } )
としてみました(aaa、bbbはstring) コンパイルが通ったので、やった!、と思ったのですが、BackgroundWorker1DoWork側でうまく受けられませんでした。
こんなふうに受けてみたのですが・・・
Dim argv As String() = CType(e.Argument, String() )
ここで止まってしまいます。
止まってしまう、というのはエラーも出ないのですが、 前後にmsgboxで適当に文字を表示してみると、上記の行の次に行かないのです。。。
たぶん、この書き方がまずいと思うのですが、どうしたら良いのでしょうか・・・
どうか宜しく御願いたします。
|
|