Announcement

Collapse
No announcement yet.

Speicherproblem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Speicherproblem

    Hallo NG,

    ich bitte wieder mal um eure Hilfe.
    In einem Projekt (Projekt_A) hab ich eine große Tablle (mTable) mit 40.000 Datensätzen.
    Aus einer Klasse in einem anderen Projekt (Projekt_B) muss ich auf diese Tabelle zugreifen und Werte auslesen.
    Projekt B ist aber schon in Projekt A referenziert (Dim p As New Projekt_B.Class_B)
    Ringverweis geht ja nicht
    Wenn ich jetzt im Projekt A über eine Property die Tabelle als DataTable dem Projekt B bekannt mache -
    Code:
    in B:
    Property MeineTable() As DataTable
            Set(ByVal value As DataTable)
                myTable = value
            End Set
    End Property
    
    in A:
    p.MeineTable=mTabelle
    wird dann nochmal Speicher belegt, oder wird da nur ein Verweis benutzt?
    Im ersteren Fall würde ich mir wahrscheinlich etwas anderes überlegen, denn eine so große Tabelle zweimal im Speicher zu halten, behagt mir gar nicht.

    Viele Grüße
    Norbert

  • #2
    Ich hab keine Ahnung von den VB Komponenten. Also ein ganz allgemeiner Hinweis:
    Tabellen sind aber ja allgemein dafür da, viele Daten zu persistieren auch viel mehr als 40000, ohne das irgendeine arme Anwendung sie alle im Kopf haben muss.
    Man holt sich immer die Daten, die man gerade braucht. Das erfolgt idR über Abfragen, Queries bzw. entsprechende Komponenten, nicht über Tablekomponenten.
    Gruß, defo

    Comment


    • #3
      Vielen Dank. Schon klar, was Du sagst. Mach ich auch gewöhnlich so.
      Mein Problem ist, dass ich im Projekt B keine Daten (Teilmenge) aus der DataTable in Projekt A holen kann (Ringverweis). Würden die beiden betreffenden Klassen im gleichen Projekt liegen, gäbe es das Problem nicht. Dann müsste ich nicht die Klasse in B in der Klasse in A referenzieren und könnte leicht zugreifen. Würde jedoch immensen Aufwand bedeuten, alles umzubauen. Vielleicht sehe ich aber auch im Moment den Wald vor lauter Bäumen nicht ...

      Comment


      • #4
        In deiner Property wird nur ein Verweis auf die Tabelle gehalten. Da wird nichts kopiert.

        Das heißt aber nicht das das irgendwie gut ist Alleine deine Beschreibung klingt schon so das du ein Problem mit der Strukturierung deiner Anwendung hast. Auch wenn du damit das Problem kurzfristig mit dieser Property löst klingt es so als würde das mittelfristig zu Verantwortunsproblemen führen wenn man an so Dinge wie Aktualisieren und Bearbeiten der DataTable denkt.

        Comment


        • #5
          Danke Ralf! Du beherbergst wohl dieses Forum in der Hosentasche? ;-)
          Ja, man pappt immer wieder etwas dran, weil es "ganz oben" immer wieder neue Bestimmungen gibt. Irgendwann muss man dann wohl doch mal neu strukturieren. Da hast Du ganz recht. Aber ich lass es jetzt nochmal so, weil es aus Projekt B heraus kein Aktualisieren und Bearbeiten gibt.

          Schöne Grüße
          Norbert

          Comment

          Working...
          X