WinCe 中的异步处理!

topglorylines 2010-11-01 03:58:12
我在做WinCe开发时,想要将一个操作数据库的方法做成异步调用,可以显示一个进度条给用户,但是老是报错。
以下是我在winform中做的测试代码,运行没有问题,但是在Wince中,就报错。

public delegate void DoThingDelegate();

private void button1_Click(object sender, EventArgs e)
{
DoThingDelegate doThingDelegate = new DoThingDelegate(doThing);

IAsyncResult ar = doThingDelegate.BeginInvoke(null, null);

progressBar1.Visible = true;

while (!ar.IsCompleted)
{
Thread.Sleep(100);
progressBar1.Value = progressBar1.Value + 5;
}

progressBar1.Visible = false;

MessageBox.Show("完成!");
}

private void doThing()
{
Thread.Sleep(2000);
}
...全文
457 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cscheng7907 2013-04-09
  • 打赏
  • 举报
回复
那为什么这个代码是能够在wince下面编译通过的呀?既然不支持这个功能,应该向其他api一样封掉这个接口呀,有没有其他方法呀。
Benjay77 2013-03-22
  • 打赏
  • 举报
回复
wince 没有那个API 不支持 。。。。
yinhaichao2008 2012-12-01
  • 打赏
  • 举报
回复
wince不支持异步调用
maj0123 2012-07-11
  • 打赏
  • 举报
回复
我运行这个代码,完全正常呀。
poemking 2011-01-05
  • 打赏
  • 举报
回复
我也遇到同样问题了,解决没,怎么解决的
firstcoo 2010-11-03
  • 打赏
  • 举报
回复
握握手,同开发WINCE下的C#程序。
兔子-顾问 2010-11-03
  • 打赏
  • 举报
回复
别纠结了。不行就换多线程实现吧。ce上很多高级东西无法用。不过不确定是异步委托的问题。没验证。
topglorylines 2010-11-03
  • 打赏
  • 举报
回复
再顶一次,实在没有会,就结贴吧!
兔子-顾问 2010-11-02
  • 打赏
  • 举报
回复
使用了mobile不支持的api?
topglorylines 2010-11-02
  • 打赏
  • 举报
回复
它的错误断点直接再program 类的 Application.Run(new FrmLogin()) 语句里,错误类型是: NotSupportedException
兔子-顾问 2010-11-02
  • 打赏
  • 举报
回复
你总要说你现在错误是什么。异常信息复制来这里。
topglorylines 2010-11-02
  • 打赏
  • 举报
回复
先谢谢您的回复,错误不在此,我试过将
while (!ar.IsCompleted)
{
Thread.Sleep(100);
progressBar1.Value = progressBar1.Value + 5;
}
循环里面的代码都却掉,也就是说只是测试异步,不真的去做事,但是依然报错。并且调试放在按钮的点击方法头都进不去,直接跑program里面报错。同样的代码在winform里是没有问题的。

兔子-顾问 2010-11-02
  • 打赏
  • 举报
回复
什么错误?
progressBar1.Value = progressBar1.Value + 5;

修改为
progressBar1.Invoke((EventHandler)delegate{progressBar1.Value += 5;});

这样试试?
topglorylines 2010-11-02
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶顶顶顶!
topglorylines 2010-11-02
  • 打赏
  • 举报
回复
就是使用了委托实现异步,就出错了,所以我不知道是否PDA上不支持委托异步?

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧