Labview Import / DLL debuggen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: DLL & externer Code (/Forum-DLL-externer-Code) +---- Thema: Labview Import / DLL debuggen (/Thread-Labview-Import-DLL-debuggen) |
RE: Labview Import / DLL debuggen - galilio - 05.10.2015 14:58 Hallo Rolf, Kannst du bitte mir sagen was du genau damit Zitat:"Behandle es als ein Pointer ohne in LabVIEW Dinge herauskopieren zu wollen und exportiere entsprechende Accessfunktionen denen Du diesen Pointer übergeben kannst und die Dir dann die Elemente daraus zurückgeben. Oder mache die ganze Funktion gleich ganz LabVIEW freundlich."meinst? Ich habe für den struct einen Getter und einen Setter dazu geschrieben. Ich habe es mir gedacht, dass ich jede Element mit dem Getter aufrufen kann. Das Value jeder Element ist immer 0. Liege schon richtig oder ...... RE: Labview Import / DLL debuggen - galilio - 06.10.2015 06:09 Hallo Zusammen so sehen die Getter bzw. Setter aus : Code: int getValueA(Mystruct *pointerStruct) dann die richtige Methode, die exportiert ist: Code: void MeasurmentStart(Mystruct *_myStruct){ RE: Labview Import / DLL debuggen - galilio - 06.10.2015 06:32 so sieht die Messungsfunktion aus: RE: Labview Import / DLL debuggen - rolfk - 06.10.2015 18:57 (06.10.2015 06:32 )galilio schrieb: so sieht die Messungsfunktion aus: Wenn Du schon einen Wrapper machst ist die Verwendung der DSNewPointer und GetValueByPointer und Friends Funktionen völlig aberwitzig. Mache das alles im Wrapper korrekt und exportiere ein API das statt einer struct mit internen Pointern sinnvolle Parameter mit Strings etc. verwendet! RE: Labview Import / DLL debuggen - galilio - 07.10.2015 08:04 Hallo Rolf, danke für die Antwort: Ich habe folgende Problem: Code: void MeasurmentStart(Mystruct *_myStruct){ Die Value jede Daten Elemente bekomme ich wie in der obere Funktion auf einen schlag vom Objekt Code: Myclass myclass; Code: MeasurmentStart(Mystruct *_myStruct) Code: struct MyWrapper Code: setValueA(_myStruct, myClass.getMeasureA()); Also wenn ich das anders mache heisst: 1) Verzicht auf Getter und Setter von der Code: Struct MyWrapper Code: void MeasurmentStart(Mystruct *_myStruct) Code: void MeasurmentStart() Code: Struct MyWrapper Code: Myclass myclass; Das ist genau das was ich vermeiden möchte --> Ist das SO ? RE: Labview Import / DLL debuggen - galilio - 08.10.2015 08:11 Hallo, es hat sich erledigt. Danke RE: Labview Import / DLL debuggen - galilio - 12.10.2015 09:04 Hallo zusammen, ich habe es folgende: Mehrere Funktionen, die als Rückgabeparameter: 1) 0 haben, wenn es alles okay ist. oder 2) ab (5000.....) >0 beim Fehlverhalten Ich habe es mir zwei Varianten überlegt: 1) VI als Error Handler (Wie das geht weiss ich nicht) 2) Einen ClusterError schreiben und in LabVIEW Error Bibliothek integrieren (wie?)? Welche Variante ist eure Meinung nach zu empfehlen? Danke RE: Labview Import / DLL debuggen - rolfk - 12.10.2015 23:36 (12.10.2015 09:04 )galilio schrieb: Hallo zusammen, Warum nicht einfach Programming->Dialog & User Interface->Error Cluster From Error Code.vi verwenden? RE: Labview Import / DLL debuggen - galilio - 23.10.2015 10:23 Hallo zusammen, Ich habe mehrere VI, die ich duch einen "DLL Import" LibImport erstellt habe. Es war die Idee am Anfang nur einen Interface zu herstellen. Jetzt soll ich daraus einen exe File erstellen. Meine Idee ist einen State machine zu erstellen. Problem ist: Viele der erstellte haben VI keinen Terminals. Also wie sollen sie denn ausgeführt werden, wenn sie Keine Terminals haben. Was muss ich denn ändern auf der C_Wrapper Seite. Soll ich für die jenignen VI bzw. die Funktionen einen bool Variable übergeben ....? RE: Labview Import / DLL debuggen - rolfk - 24.10.2015 23:11 (23.10.2015 10:23 )galilio schrieb: Hallo zusammen, Was hat ein Terminal damit zu tun ob ein VI ausgeführt werden kann??? Und wenn die meisten Deiner VIs kein Terminal haben scheint mir etwas mit dem Wrapper falsch gegangen. Da sollte doch bei den meisten zumindest ein Objektpointer sein!! Und Parameter die den Methoden übergeben werden oder von diesen zurückgegeben werden! |