LabVIEWForum.de
VBA-Code in LV "umwandeln" - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: VBA-Code in LV "umwandeln" (/Thread-VBA-Code-in-LV-umwandeln)

Seiten: 1 2


VBA-Code in LV "umwandeln" - eg - 21.08.2006 18:28

Mach mal Rechtsklick auf den Knoten, dann Create->Constant


VBA-Code in LV "umwandeln" - SonnenWeiß - 21.08.2006 18:40

' schrieb:Mach mal Rechtsklick auf den Knoten, dann Create->Constant
Ausgegraut... geht nix.

Nach dem ich das mit mein Tws.ocx (regsvr32 C:ActiveXTws.ocx) gemacht hab aus:AcitveX Events Beispiel:
Setup:
To use this example you must register the .ocx file by running the following command from the run command line:
"regsvr32 ..axeventsexample.ocx"
This will give you a message that the .ocx file was registered. Now, you can open the VI and run the program.


Sieht es im Klassenbrowser schlimm aus:[attachment=2998]


VBA-Code in LV "umwandeln" - SonnenWeiß - 21.08.2006 23:47

Also, ich versuche mein Problem soweit ich verstanden habe zusammenzufassen:
In meinem ActiveX Control sind zwei verschiedene Klassen
TWSLib.Tws, enthält Methoden und Eigenschaften:

TWSLib.TwsEvents enthält die Ereignisse.

Ich hab nun in der Hilfe herumgelesen über:
- Ereignis-Callback registrieren
- ActiveX-Container
- - Legen Sie einen ActiveX-Container auf dem Frontpanel ab
- Fügen Sie ein ActiveX-Refnum-Element in das Frontpanel ein.

Ich kaper das alles nicht wirklich für was man diese Dinge braucht, aber so wie es aussieht,
verträgt sich das ActiveX(Refnum) nicht mit der TWSLib.TwsEvents Klasse!

Grrr

In Excel hab ich die Ereignisse fröhlich laufen, warum scheint das in LabVIEW so kompliziert?


VBA-Code in LV "umwandeln" - Kvasir - 22.08.2006 07:52

Guten Morgen,

was du meines Erachtens brauchst sind 2 verschiedenen Refnums, die du dann mit den jeweiligen Knoten verbindest. Also ein Refnum für TWSLib.Tws und eins für TWSLib.TwsEvents.

Probier doch mal folgendes um das 2. Refnum zu erstellen:

Kopiere das vorhandene Refnum mit copy/paste. Rechtsklicke darauf und wähle über den Klassenbrowser die Events Klasse aus.


P.S.: auch wenns gerade nebensächlich ist. So wie du das mit dem Schließen gemacht hast ist es genau richtig.


VBA-Code in LV "umwandeln" - SonnenWeiß - 22.08.2006 13:02

Hallo Kvasir,

' schrieb:was du meines Erachtens brauchst sind 2 verschiedenen Refnums, die du dann mit den jeweiligen Knoten verbindest. Also ein Refnum für TWSLib.Tws und eins für TWSLib.TwsEvents.
Sowas in die Richtug hab ich auch gedacht.
Klassenbrowser über Kontextmenü krieg ich nur bei Knoten mit TWSLib.TwsEvents, aber nicht bei Refnum für TWSLib.Tws (siehe Screenshot)
[attachment=3011]

Bei Knoten mit TWSLib.TwsEvents:
[attachment=3012]

Ich hab dann versucht - wie du gesagt hast - 2. Refnum zu erstellen und über eine Konstante die TWSLib.TwsEvents zuzuweisen. Bei der Konstanten konnte ich auch die TWSLib.TwsEvents auswählen, aber ich kann die Konstante nicht mit TWS2-Refnum verbinden.
[attachment=3013]


VBA-Code in LV "umwandeln" - Kvasir - 22.08.2006 15:40

Die Konstante kannst du natürlich nicht mit der Refnum2 verbinden, da die Refnum ja nur gelesen werden kann.

Aber: Wenn du es geschafft hast eine Konstante von Events zu erstellen, dann sollte das doch schon des Rätsel Lösung sein. Verbinde nun einfach diese Konstante mit den Knoten für Events und deine Tws Refnum mit den Knoten für Tws.
Das sollte doch funktionieren und genügen!


VBA-Code in LV "umwandeln" - SonnenWeiß - 22.08.2006 18:28

' schrieb:Aber: Wenn du es geschafft hast eine Konstante von Events zu erstellen, dann sollte das doch schon des Rätsel Lösung sein. Verbinde nun einfach diese Konstante mit den Knoten für Events und deine Tws Refnum mit den Knoten für Tws.

Events hat erst noch meine Geduld getestet und wurde "inaktiv", bei der Verbindung....
[attachment=3026]

Aber dann konnte ich durch probieren ohne Error in den Ausführungsmodus schalten.
[attachment=3030]

Nun tut sich aber noch nichts....dazu noch eine Frage:
In Excel habe ich einfach zwei Buttons für die Methoden connect und disconnect. Wie muß ich die "Buttons" in LV "verdrahten" und anwenden? Ich hab dazu keine Idee, wie ich disconnect aufrufen könnte?

Der Fehler zu meinem Button und Knoten disconnect sagt:
Der Typ der Datenquelle ist Boolesch (TRUE oder FALSE).
Der Typ der Datensenke ist ActiveX-Refnum der Klasse

Vielen Dank


VBA-Code in LV "umwandeln" - Kvasir - 22.08.2006 18:54

Tia ich kenne mich mit diesem Tws ja nicht aus, aber ich will mal eine Vermutung anstellen.

LabVIEW arbeitet Fluß basiert. Das heißt die Draht Verbindungen geben die Reihenfolge vor. Ich vermute nun einfach mal, dass du also die Referenz Tws zuerst durch den connect Knoten führen musst, dann deine Werte setzt (reqMktData Knoten) und anschließend verbindest du den grünen Draht weiter zum disconnect Knoten.

Du solltest übrigens besser auch deine Events Knoten über nur eine Refnum ansteuern. Sprich den Draht durchverbinden.