Hallo zusammen,
ich arbeite mich gerade in das Actor Framework unter LabView 2013 ein. Als Einstieg habe ich dieses Tutorial hier genutzt:
https://decibel.ni.com/content/docs/DOC-42227
Das hat auch alles wunderbar geklappt.
Jetzt habe ich versucht, das Ganze auf mein Projekt umzusetzen. Dabei soll ein Datencluster von einem Actor an einen einen übergeben werden, der es dann prüft, und wieder zurückschickt. Leider bekomme ich aus irgendeinem Grund immer den folgenden Fehler angezeigt:
Fehler 1448: Nach spezifischerer Klasse in SendCheckRequestMsg.lvclass
o.vi:3750001->Actor Framework.lvlib:Actor.lvclass:Receive Message.vi:1040001->Actor Framework.lvlib:Actor.lvclass:Actor Core.vi:5880001->CreateTestplan.lvclass:Actor Core.vi:5880001->Actor Framework.lvlib:Actor.lvclass:Actor.vi:6640008->Actor Framework.lvlib:Actor.lvclass:Actor.vi.ACBRProxyCaller.46300028
Die Beschreibung zu Fehler 1448 lautet: Ungültige Typumwandlung. Die Einstellung dieser LabVIEW-Klasse während der VI-Ausführung kann nicht wie ein Exemplar der Klasse behandelt werden.
Ich verstehe, dass meine Do.vi meiner Nachrichtenklasse irgendwie fehlerhaft ist. Allerdings verstehe ich nicht ganz wieso. Im Tutorial wird es ja genau so gemacht, und dort funktioniert es. Ich habe auch mal probiert, ob der integrierte Message-Maker andere VI's erzeugt, aber sie sehen für mich identisch aus und erzeugen auch den gleichen Fehler.
Kann mir da vielleicht jemand auf die Sprünge helfen? Ich habe das Gefühl, ich stehe einfach nur auf dem Schlauch (allerdings schon seit zwei Tagen).
//EDIT: Ok, ich habe den Fehler gefunden. Ich stand tatsächlich einfach auf dem Schlauch.
Für die Nachwelt: Der Fehler lag in der Actor Core.vi. Dort wurde meine andere Klasse mittels Self-Enqueuer der eigenen Klasse aufgerufen. Stattdessen musste ich natürlich erstmal meine Kind-Klasse aufrufen, und meine Klasse dann in den dortigen Enqueuer einfügen.