26.08.2015, 12:22
Beitrag #1
|
|
|
26.08.2015, 13:21
Beitrag #2
|
Trinitatis
LVF-Guru
Beiträge: 1.694
Registriert seit: May 2008
7.1 / 8.0 /2014-1, 18
2002
DE
18055
Deutschland
|
RE: DVR Zugriff über FGV?
(26.08.2015 12:22 )GT123 schrieb: Ich dachte an eine FGV!? Müsste ich dann bei der FGV ein Array mit den DVR`s füllen?
Wenn ja, wie ist es wenn ich eine DVR freigeben(lösche), muss das Element des Array in der FGV dann auch gelöscht werden...?
Hallo,
das Problem bei Arrays, aus denen ungenutzte Elemente gelöscht werden ist die Zuordnung aller nachfolgenden Elemente, deren Indizes sich ja ändern.
Eine andere Möglichkeit wäre ein vorinitialisiertes Cluster-Array oder 2 parallele Arrays, so dass ein Valid-Bit mitgeführt werden kann.
Beim Freigeben einer DVR kann dann das entsprechende Bit auf invalid gesetzt werden und beim Neuanlegen eines Elements kann der nächste Invalid-Index gesucht werden.
Gruß, Marko
|
|
|
26.08.2015, 14:29
Beitrag #3
|
|
|
26.08.2015, 15:24
Beitrag #4
|
Trinitatis
LVF-Guru
Beiträge: 1.694
Registriert seit: May 2008
7.1 / 8.0 /2014-1, 18
2002
DE
18055
Deutschland
|
RE: DVR Zugriff über FGV?
(26.08.2015 14:29 )GT123 schrieb: Dann müsste ich bei dem Zugriff auf die Daten nach z.b. der DUT Nummer suchen...
Deshalb die ODER-Variante mit den parallelen Arrays. Dort könntest du in deinem ID-Array nach der entsprechenden ID suchen und hättest im Index-Fund gleich den Index für alle anderen Arrays - das wäre bei Clusterarrays schwieriger, da dort der Cluster erst auseinandergenommen werden müsste.
Die eigentlichen Daten kannst du ja auch nach jeder Freigabe löschen. So hast du zwar eine feste Arraygröße mit bekanntem Speichervolumen aber im Datenbereich auch nicht mehr Speicherbedarf als wenn du dein Arrayelement nach jeder Freigabe löschen würdest.
Eine andere Möglichkeit fällt mir so erstmal nicht ein.
Gruß, Marko
|
|
|
26.08.2015, 21:20
(Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2015 21:22 von GerdW.)
Beitrag #5
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: DVR Zugriff über FGV?
Hallo GT,
für Key-Value-Paare (bei dir DUT & Daten[-DVR]) eignen sich auch Variant-Attribute, siehe hier…
|
|
|
27.08.2015, 05:25
Beitrag #6
|
GT123
LVF-Stammgast
Beiträge: 432
Registriert seit: Mar 2009
2018
2008
DE_EN
Schweiz
|
RE: DVR Zugriff über FGV?
Hallo Marko,
ok, ja das klingt logisch das die "parallel-Array" Lösung von der Performance her besser ist. Danke für den Hinweis.
Hallo GerdW,
das mit den Variant-Attributen ist ein guter Hinweis. Habe schon einmal davon gehört aber noch nie angewendet.
Ich würde es nun so umsetzen:
DVR je DUT erstellen, diese DVR dann in ein Variant-Attribut geben, was die Referenz auf meine Daten ist (Input "value" bei "set variant attribute"),
und eine ID z.B. DUT "01" (Input "name" bei "set variant attribute").
Das Variant out gebe ich dann in eine FGV. Somit kann ich von überall aus meinem Programm auf die Daten per DVR und Inplace Structure zugreifen.
Das mit der Datenkapselung muss ich mir noch überlegen, vielleicht in der FGV wieder ein Array in dem ich vermerke ob ich eine DVR entnommen habe um die Daten zu modifizieren.
Dann müssten alle weiteren Zugriffe auf diese DVR, welche ebenfalls die Daten modifizieren möchten, warten bis es wieder freigegeben ist.
Müsste so funktionieren, oder?
Habe ich das mit dem löschen der Variant Attribute richtig verstanden:
wird kein string bei dem Eingang "name" angegeben, so wird der gesamte Inhalt (Array) gelöscht!?
|
|
|
| |