TIA S7 1500 Variant auf ein Array mit eigenem Datentyp

RogerSchw85

Level-2
Beiträge
629
Reaktionspunkte
54
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen

Ich habe ein Array mit 500 Elementen von einem eigenen Datentyp. Dieses Array möchte ich nun in einem FB durchsuchen und in den Index 0 des Arrays etwas schreiben. Es ist mir klar das es mit InOut auch gehen würde jedoch möchte ich es mit Variant übergeben. Jedoch krieg ich es nicht hin irgend etwas aus dem Variant zu lesen... Hat dies jemand schon gemacht? Ist es überhaupt möglich?

Gruss und Dank
 
So finde ich wenigstens raus welchen Datentyp es ist, aber wie kann ich im Variant auf den Index zugreifen?

Code:
IF TypeOfElements(#Datenbank) = TypeOf("Datenbaustein_1".Daten[2]) THEN    ;
END_IF;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe jetzt eine Lösung gefunden, jedoch bringt diese mir nichts... Ich kopiere so trotzdem jeden Eintrag hin und her... So kann ich von Anfang an das ganze Array übergeben...

Code:
// Länge ermitteln#length := CountOfElements(#Datenbank) - 1;


#OUT_AufPos := 0;


FOR #i := 0 TO #length DO
    #MoveVariant :=
    MOVE_BLK_VARIANT(SRC := #Datenbank,
                     COUNT := 1,
                     SRC_INDEX := #i,
                     DEST_INDEX := 0,
                     DEST => #daten_2);
    
    #gefunden := FIND(IN1 := #daten_2.Barcode, IN2 := #IN_Barcode);
    
    IF (#gefunden > 0) THEN
        #OUT_AufPos := #i;
        RETURN;
    END_IF;
    
END_FOR;
 
Mir ist kein anderer Weg bekannt. Einen direkten Weg via Variant auf Daten zuzugreifen gibt es meines Wissens nicht.
 
Zurück
Oben