Länge einer Struktur im DB ermitteln

Knut333

Level-1
Beiträge
71
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

habe mal wieder ein kleines Problem.

Ich habe eine DB, der aus einem Header von wechselnder Länge besteht und dann mit einem n-fachen einer Struktur gefüllt ist. Die Struktur ist in einem UDT zusammengefasst, kann aber von Maschine zu Maschine unterschiedlich lang sein. Gibt es eine Möglichkeit, aus dem DB die Startadressen der ersten zwei UDT's auszulesen, um daraus die Gesamtlänge einer Struktur zu errechnen?
Es geht darum, daß die erste Struktur einen aktuellen Datensatz enthält und dieser entweder auf einer der nachfolgenden Strukturen gespeichert werden kann oder von dort geladen werden kann. Dafür benötige ich die Länge der Struktur.
Gibt es in der Richtung was sinnvolles?

Knut (nicht der Eisbär)
 
Hallo Knut,

die Länge einer Struktur kannst du einfach ermitteln, indem du sie über einen Any-Pointer an den Baustein übergibst.

Code:
FUNCTION "xyz" : BOOL
TITLE =
AUTHOR : Onkel
VERSION : 0.1
 
VAR_INPUT
  DATENBEREICH : ANY ;
END_VAR
 
BEGIN
NETWORK
TITLE =
//*** AR2 auf Datenbereich
      L     P##DATENBEREICH; 
      LAR2  ; 
 
//*** Größe Datenbereich
      L     W [AR2,P#2.0]; // Anzahl Typ im DATENBEREICH
 
// usw......
 
END_FUNCTION


Gruß, Onkel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Probiere ich morgen mal aus!

Vielen Dank für die prompte Antwort!

Knut


Edith meint: Ich konnte es nicht bis morgen abwarten und .... das ist genau das, was ich brauche!!!!!!!!!!!!!!!!
(Muß mir bei Gelegenheit die Verwendung von Pointern und Any-Pointern mal genauer erklären lassen)
 
Zuletzt bearbeitet:
Zurück
Oben