Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Array eines .NET Objects (Struktur) erzeugen
11.10.2012, 20:53
Beitrag: #1
Array eines .NET Objects (Struktur) erzeugen
Hallo mal wieder,

Ich habe da ein Problem mit VEE, ich glaube das kann ich gar nicht richtig beschreiben.

Mein Programm muß mit einem Produktionsleitsystem (MES) kommunizieren. An das MES werden Daten gemeldet (z.B. Messdaten) oder auch Daten abgefragt (z.B. Auftragsdaten).

Vom der MES-Software wird für diese Zwecke ein API (Application Programming Interface) zur Verfügung gestellt das man z.B. über eine .NET-DLL ansprechen kann.

Diese DLL lässt sich auch ganz bequem in VEE einbinden und die Funktionen/Methoden lassen sich im „Function&Object Browser“ finden.
Jede Methode benötigt bei Ihrem Aufruf gewisse Daten, die vom Datentyp her (Int,Real ect.) exakt stimmen müssen. Das ist alles soweit kein Problem.

Jetzt gibt es in der DLL vordefinierte „Objekte“, (hier: checkSetupData) die im Prinzip einem (VEE-) Record entsprechen. Dieses Objekt ist eine Ansammlung von Daten verschiedener Datentypen..

Was ich jetzt bei einem Funktions(Methoden)
aufruf brauche ist ein Array eines solchen Objekts (hier CheckSetupDataArray).

Und da fangen meine Probleme an.

Ich habe schon vieles probiert, aber nichts führte zum Erfolg.
Von „CheckSetupData“ gibt es einen Constructor, der sich auch einer (Laufzeit-)Variablen zuordnen lässt. Versuche ich diesen Constructor in einem Collector zu „sammeln“, bekomme ich die Fehlermeldung „Too many array dimensions given (maximum =0)“

Der Constructor lässt sich auch eine „declare-ten“ Variablen vom Typ „Variant“ zuordnen. Aber dafür gibt es dann kein „Allocate Array“ zum initialisieren.

Eine Variable lässt sich auch direkt als .NET Object genau diesen Typs (CheckSetupData) deklarieren, aber auch hier lässt sich kein Array daraus machen.

Bilde ich die Datenstruktur (von CheckSetupData) durch einen Record nach (gleiche Feldnamen, gleiche Datentypen) lässt sich zwar ein Array daraus machen aber biete ich dieses Array der DLL-Methode an bekomme ich Fehlermeldung 551 „Cannot convert incompatible ActiveX automation data type“ – was immer das heißt.

Hängt ich nur eine Variable des Typs „checkSetupData“ (kein Array !) an, bekomme ich die berühmte Fehlermeldung 751.

Fällt Euch da noch etwas ein ? In Labview soll das schon jemand realisiert haben, sollte doch dann in VEE auch funktionieren.

Gruß Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Nachrichten in diesem Thema
Array eines .NET Objects (Struktur) erzeugen - HowToVEE - 11.10.2012 20:53

Gehe zu:




Partnerforen: LabVIEWForum.de| DIAdem-Forum.de| Machine-Vision-Forum.de| goMatlab.de| VEEforum.de