GMAP 集合已修改;可能无法执行枚举操作 错误【正解】(原创)

这个例子引自http://q.cnblogs.com/q/60028/,我做的时候遇到同样的问题,问了没有人回答我,后来我找到了解决办法,在此分享。

先看一下问题:

今天在主界面里写了一个Thread,函数用While(1)循环,循环中先查找数据库中的最新记录,然后把最新记录的坐标值添加到GMap控件中的一个overlay中显示出来,王红说那个有人说把foreach改成for就好了,可是我还是出这个异常,而且位置奇怪,是程序的Program.cs文件中出现的,代码如下:

 

static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

DevExpress.Skins.SkinManager.EnableFormSkins();
DevExpress.UserSkins.BonusSkins.Register();
UserLookAndFeel.Default.SetSkinStyle("DevExpress Style");

Application.Run(new ManageMainForm());
}

 

就最后这一句Application.Run(new ManageMainForm());出了异常,但是代码还跟不出来,愁人。。。。

 

解决办法:

在使用GMAP的时候其实是引入两个dll,问题就出在这个里面。

办法是将dll删除。然后下载GMAP的源代码,可以在http://greatmaps.codeplex.com/SourceControl/latest下载源程序,然后将两个dll对应名字的项目加载到自己的解决方案里面,在自己的项目的引用里面加入这两个项目的引用,这个大家肯定会的,然后再运行程序,报错的地方就是GMAP的源程序,把foreach循环改为for循环,就可以了。

posted @ 2015-06-20 19:54  学知行者  阅读(571)  评论(0编辑  收藏  举报