PAC出现未处理的托管异常问题之解决方法 点击:1247 | 回复:20



bbmmc

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 11:03:00
楼主
最近做了一个PAC(W-8031)的485通信小程序,接了一个泓格的I/O模块(i-7060),模块上接了4个按钮作为输入,三个灯作为输出。程序中用了定时器,程序运行时定时器运行正常,但当按下按钮时就会出现“未处理的托管异常”错误,我把它OK掉,以后再按什么按钮就不会出现问题,而且重启PAC后的第一次运行也无此错误。才程序运行时间长了,还会出现“程序内存不足”的错误。所有这些问题都是第一次遇到,想了很久没有解决办法,在此提出与大家一起讨论,欢迎高手赐教。



bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 11:08:00
1楼
一个托管的objectdisposedexception 发生在misc::handlear+0x55

misc::handlear+0x55
control::get_text+0x3e
control::set_text+0x7
form1:;getdifromcounter+0x8a

以上是错误的具体内容,最后一个getdifromcounter是我用的一个
子函数,用于读取按钮值。

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 11:08:00
2楼
一个托管的objectdisposedexception 发生在misc::handlear+0x55

misc::handlear+0x55
control::get_text+0x3e
control::set_text+0x7
form1:;getdifromcounter+0x8a

以上是错误的具体内容,最后一个getdifromcounter是我用的一个
子函数,用于读取按钮值。

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 11:08:00
3楼
一个托管的objectdisposedexception 发生在misc::handlear+0x55

misc::handlear+0x55
control::get_text+0x3e
control::set_text+0x7
form1:;getdifromcounter+0x8a

以上是错误的具体内容,最后一个getdifromcounter是我用的一个
子函数,用于读取按钮值。

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 11:08:00
4楼
一个托管的objectdisposedexception 发生在misc::handlear+0x55

misc::handlear+0x55
control::get_text+0x3e
control::set_text+0x7
form1:;getdifromcounter+0x8a

以上是错误的具体内容,最后一个getdifromcounter是我用的一个
子函数,用于读取按钮值。

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 11:08:00
5楼
一个托管的objectdisposedexception 发生在misc::handlear+0x55

misc::handlear+0x55
control::get_text+0x3e
control::set_text+0x7
form1:;getdifromcounter+0x8a

以上是错误的具体内容,最后一个getdifromcounter是我用的一个
子函数,用于读取按钮值。

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 11:08:00
6楼
一个托管的objectdisposedexception 发生在misc::handlear+0x55

misc::handlear+0x55
control::get_text+0x3e
control::set_text+0x7
form1:;getdifromcounter+0x8a

以上是错误的具体内容,最后一个getdifromcounter是我用的一个
子函数,用于读取按钮值。

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 11:08:00
7楼
一个托管的objectdisposedexception 发生在misc::handlear+0x55

misc::handlear+0x55
control::get_text+0x3e
control::set_text+0x7
form1:;getdifromcounter+0x8a

以上是错误的具体内容,最后一个getdifromcounter是我用的一个
子函数,用于读取按钮值。

王瑀

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2006年6月06日
发表于:2007-03-26 12:30:00
8楼
要处理“未处理的托管异常”这种问题,请您将Wincon.dll还有WinconSDK.dll复制到WinCon8000上和您的程序放在同一个目录下在试一下,就应该没有问题啦。

至于“程序内存不足”这个问题,建议您写程序的时候注意释放内存,由于您给的资料不多,我只能猜测您应该是没有释放您从I-7060上读取的数据。至于WinCE的内存管理函数则和Windows XP差不多,基本上可以全部使用Win32内存管理的API。WinCE支持虚拟内存(virtual memory)分配,本地(local)和分离(separate)的堆(heaps),甚至还有(memory-mapped files)内存映射文件。

王瑀

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2006年6月06日
发表于:2007-03-26 12:32:00
9楼
如果您还有什么问题,请致电泓格科技武汉分公司技术部(027-85483216/85483302),另外建议您使用EVC进行程序的编写会比.NET用的要好一些,最后谢谢您使用泓格公司的产品!

王瑀

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2006年6月06日
发表于:2007-03-26 12:42:00
10楼
有关WinCE内存管理的问题,可以上泓格科技的论坛参看详细的资料,这里就不多叙述。
http://www.icpdas.com.cn/bbs/topiclist.asp?bd=4

謝聰敏

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 246回
  • 年度积分:0
  • 历史总积分:351
  • 注册:2002年9月23日
发表于:2007-03-26 13:40:00
11楼

謝聰敏

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 246回
  • 年度积分:0
  • 历史总积分:351
  • 注册:2002年9月23日
发表于:2007-03-26 13:51:00
12楼
我們會繼續保持關注, 因為嵌入式系統資源有限, 自行開發AP必須注意一些技巧, 我們目前會根據過去的經驗來幫忙解決大家編程上的問題.

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-26 15:50:00
13楼
Wincon.dll和WinconSDK.dll已经加到程序的目录下,仍有问题。
有几点说明:
1)每一次重启PAC后第一次运行无错
2)WinconSDK.dll在送的盘里找到几个,不知是否都是一样,我试了两个都不可以
3)Wincon.dll 是在安装好程序后的文件夹里找到的.
4)拷到W-8031 上的只是build solution 后生成的可执行文件,无程序.
5)刚收到你们的PAC培训邀请,我们会去,但还是想早一点解决问题.

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-29 13:47:00
14楼
1)将Wincon.dll还有WinconSDK.dll复制到WinCon8000上和您的程序放在同一个目录下
2)所有TEXTBOX中的内容不为空
3)微软公司内部的BUG问题
这是我目前得到的三种答案,共同点是我都没有解决我的问题

王瑀

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2006年6月06日
发表于:2007-03-29 14:25:00
15楼
我们希望能够尽快解决您的问题,您能给我们一个电话吗?泓格武汉分公司技术部027-85483302/85483216,期待您的电话。

王瑀

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2006年6月06日
发表于:2007-03-29 14:52:00
16楼
我的邮箱wangyu@icpdas.com.cn

12315

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 143回
  • 年度积分:0
  • 历史总积分:173
  • 注册:2004年9月09日
发表于:2007-03-29 17:06:00
17楼
给厂家的技术打电话,要求他给你写个demo不就可以了。没必要这么麻烦。

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-30 08:42:00
18楼
demo我是有的,但看不出有什么联系。
这个问题经过泓格技术部的工程师的不断努力,现在已经初步解决,下面我会测试,看是否还有其他问题。不论怎样,多谢各位关心本问题的朋友。

bbmmc

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2007年3月15日
发表于:2007-03-30 14:09:00
19楼
由于泓格技术部王工、彭工等人的大力帮助,两个问题依次得到解决,经过几个小时的测试,尚未发现问题。下面仅把解决方案与各位共享。
1)结束程序时要终止进程
2)不用定时器
3)用thread.sleep 取代定时器
4)如无必要,不必让进程一直进行

謝聰敏

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 246回
  • 年度积分:0
  • 历史总积分:351
  • 注册:2002年9月23日
发表于:2007-04-01 15:54:00
20楼
恭喜你問題得到解答, 我們會繼續支持你的工作.

热门招聘
相关主题

官方公众号

智造工程师