-> Hier kostenlos registrieren
Hallo
Ich möchte ein Array an einen FC übergeben und löschen.
Die Länge des Array kann unterschiedlich sein.
Die Übergabe an den FC mache ich mit einem Any-Pointer. Danach lese ich im FC die Länge des Arrays in Bytes aus.
Dies funktioniert soweit.
Nun habe ich den Pointer und die Länge. Somit kann ich eine FOR..NEXT Schlaufe machen und die Daten byteweise löschen.
Nur weiss ich nun nicht wie ich auf die Daten zugreifen kann um diese zu löschen.
Hat jemand eine Idee?
Gruss
Isha
Ich möchte ein Array an einen FC übergeben und löschen.
Die Länge des Array kann unterschiedlich sein.
Die Übergabe an den FC mache ich mit einem Any-Pointer. Danach lese ich im FC die Länge des Arrays in Bytes aus.
Dies funktioniert soweit.
Code:
[COLOR=black][FONT=Courier New]FUNCTION FC1: VOID[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]//********************************************************// [/FONT][/COLOR]
[COLOR=black][FONT=Courier New]// Array-Variable löschen //[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]//********************************************************// [/FONT][/COLOR]
[COLOR=black][FONT=Courier New]VAR_IN_OUT[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]DelArray :ANY; // Arrayelement das gelöscht werden soll[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]END_VAR[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]VAR_TEMP[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]i:INT;[/FONT][/COLOR]
[FONT=Courier New]NumberOfElements:INT; [/FONT]
[COLOR=black][FONT=Courier New]pAny : ANY;[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]MyAny AT pAny : STRUCT[/FONT][/COLOR]
[COLOR=black][FONT=Courier New] ID : BYTE;[/FONT][/COLOR]
[COLOR=black][FONT=Courier New] TYP : BYTE;[/FONT][/COLOR]
[COLOR=black][FONT=Courier New] NUM : INT;[/FONT][/COLOR]
[COLOR=black][FONT=Courier New] DBN : INT;[/FONT][/COLOR]
[COLOR=black][FONT=Courier New] PTR : DWORD;[/FONT][/COLOR]
[COLOR=black][FONT=Courier New] END_STRUCT;[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]END_VAR[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]BEGIN [/FONT][/COLOR]
[COLOR=black][FONT=Courier New]pAny := DelArray;[/FONT][/COLOR]
[COLOR=black][FONT=Courier New]NumberOfElements := Myany.NUM; // immer als Anzahl BYTE[/FONT][/COLOR]
[FONT=Courier New]// !!!!! Nun sollen die Daten gelöscht werden !!!!!![/FONT]
[COLOR=black][FONT=Courier New]END_FUNCTION[/FONT][/COLOR]
Nun habe ich den Pointer und die Länge. Somit kann ich eine FOR..NEXT Schlaufe machen und die Daten byteweise löschen.
Nur weiss ich nun nicht wie ich auf die Daten zugreifen kann um diese zu löschen.
Hat jemand eine Idee?
Gruss
Isha