-> Hier kostenlos registrieren
Mir fehlt gerade in Codesys eine typisierte Liste von Objekten.
Ich habe folgendes:
Methode zum hinzufuegen von Items:
Meine Frage hierzu: Wie kann ich den FB_LIST mit dem Array verknuepfen? So dass ich bei hinzufuegen und loeschen von Objekten mich immer auf die verknuepfte Liste beziehe.
Folgendes klappt leider nicht, im Programm:
LIST1(Items := OBJ1)
[FEHLER]
C0032: Typ 'POINTER TO ARRAY [0..99] OF POINTER TO FB_OBJ1' kann nicht in Typ 'ARRAY
[*] OF POINTER TO FB_Base' konvertiert werden
Folgenes klappte noch in Version: CODESYS V3.5 SP13 Patch 2
LISTE1.Items := ADR(OBJ1);
Folgendes klappt jetzt aber nicht mehr in Version: CODESYS V3.5 SP14
LISTE1.Items := ADR(OBJ1);
[FEHLER]
C0178: Externer Zugriff auf 'VAR_IN_OUT'-Parameter 'Items' von 'FB_LIST'."
Bin fuer jede Hilfe dankbar, vielen Dank!
Ich habe folgendes:
Code:
FB_Base
FB_OBJ1 EXTENDS FB_Base IMPLEMENST I_Base
FB_OBJ2 EXTENDS FB_Base IMPLEMENST I_Base
FB_OBJ3 EXTENDS FB_Base IMPLEMENST I_Base
OBJ1 : ARRAY[0..9] OF POINTER TO FB_OBJ1;
LIST1 : FB_LIST;
Code:
FB_LIST
VAR_IN_OUT
Items : ARRAY
[*] OF POINTER TO FB_Base;
END_VAR
VAR
INDEX : INT;
END_VAR
Methode zum hinzufuegen von Items:
Code:
FB_LIST.InsertItem
VAR_INPUT
Item : POINTER TO FB_Base;
END_VAR
Items[INDEX] := item;
INDEX := INDEX + 1;
Meine Frage hierzu: Wie kann ich den FB_LIST mit dem Array verknuepfen? So dass ich bei hinzufuegen und loeschen von Objekten mich immer auf die verknuepfte Liste beziehe.
Folgendes klappt leider nicht, im Programm:
LIST1(Items := OBJ1)
[FEHLER]
C0032: Typ 'POINTER TO ARRAY [0..99] OF POINTER TO FB_OBJ1' kann nicht in Typ 'ARRAY
[*] OF POINTER TO FB_Base' konvertiert werden
Folgenes klappte noch in Version: CODESYS V3.5 SP13 Patch 2
LISTE1.Items := ADR(OBJ1);
Folgendes klappt jetzt aber nicht mehr in Version: CODESYS V3.5 SP14
LISTE1.Items := ADR(OBJ1);
[FEHLER]
C0178: Externer Zugriff auf 'VAR_IN_OUT'-Parameter 'Items' von 'FB_LIST'."
Bin fuer jede Hilfe dankbar, vielen Dank!
Zuletzt bearbeitet: