2012-04-12 6 views
0

Ich brauche eine Menge Daten aus meiner Datenbank und möchte diese beim Start der Anwendung erhalten, in einer Sammlung speichern und durch die Anwendung wiederverwenden.Gemeinsame Sammlung VB.NET

Ich versuchte, eine öffentlich freigegebene Sammlung zu deklarieren und diese zu füllen, wenn ich die Anwendung (im Hauptformular) starte. Es funktioniert beim ersten Mal, wenn die Sammlung verwendet wird, aber dann ist es leer.

Ich habe mich nach Orten umgesehen, wo ich geschrieben haben könnte, um es selbst zu löschen, aber nichts herausfinden kann. Hat jemand Ideen oder Tipps?

Der Code ist so etwas wie:

Public Shared m_objDocCollection As Collection(Of clDocumentation) 

Und dann in der Hauptform

clDocumentation.m_objDocCollection = clDocumentation.GetDocumentsFromDb() 

bearbeiten; Entschuldigen Sie, dass Sie keinen Code hinzugefügt haben. Habe die relevantesten kopiert und hier platziert; https://gist.github.com/2365610

+0

Wenn Sie uns keinen Code zeigen, können wir uns nur Ihr Problem vorstellen ... – Marco

Antwort

1

Es ist nicht offensichtlich aus Ihrem Code, was passiert, aber meine Vermutung ist, dass Sie Ihre Sammlung mehr als einmal (neu) initialisieren.

Führen Sie eine Suche in Ihrem Code für alle Orte, an denen die Sammlung (Wieder-) initialisiert, wie dies zu sein:

m_objDocCollection = New Collection(Of clDocumentation)

und auf diesem einen Haltepunkt. Führen Sie dann Ihren Code aus und sehen Sie, wann diese ausgelöst werden.

+0

Wie Sie gesagt haben und denke, dass ich den Fehler gefunden habe, scheinen meine Listboxen und Comboxes auf dasselbe Objekt wie in den gemeinsamen Sammlungen gezeigt zu haben Wenn ich die Listen lösche, wird auch die gemeinsame Sammlung gelöscht. War mir nicht bewusst, dass es so funktioniert. Danke für Ihre Hilfe :) – frkJohansen