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循環,就可以了。

浙公網安備 33010602011771號