2012-04-12 70 views
0

我需要从我的数据库中获取大量数据,并希望在应用程序启动时将其获取,并将其存储在集合中并在整个应用程序中重用。共享收藏VB.NET

我试过声明一个公共共享集合,并在我启动应用程序时(在主窗体中)填充它。它在第一次使用集合时起作用,但是它是空的。

我环顾四周寻找我可能自己写清楚的地方,但无法计算出任何东西。任何人有任何想法或提示?

的代码是一样的东西:

Public Shared m_objDocCollection As Collection(Of clDocumentation) 

然后在主窗体

clDocumentation.m_objDocCollection = clDocumentation.GetDocumentsFromDb() 

编辑;抱歉没有添加代码。已经复制了最相关的并放置在这里; https://gist.github.com/2365610

+0

如果你没有告诉我们一些代码,我们只能想象你的问题...... – Marco 2012-04-12 06:12:51

回答

1

从代码中可以看出发生了什么并不明显,但我的猜测是,您不止一次地(重新)初始化您的集合。

不要在您的其中收集正在(重新)任何地方的代码搜索初始化像这样:

m_objDocCollection = New Collection(Of clDocumentation)

将断点设置这些。然后运行你的代码,看看它们何时发射。

+0

按照你的说法,并认为我发现错误,我的列表框和comboxes似乎指向与共享集合中相同的对象,当我清除列表时,共享集合也被清除了,但并不知道它是以这种方式工作的。谢谢你的帮助 :) – frkJohansen 2012-04-12 12:32:26