!!

Willkommen Besucher...

...um das das LabVIEWForum.de als Benutzer in vollem Umfang nutzen zu können, ist eine kostenlose Registrierung nötig...
Registrierte Benutzer können Beiträge schreiben, Dateien uploaden, Beiträge lesen :) uvm.


Antwort schreiben 
String Liste aus DLL in LV und zurück
08.11.2011, 17:26
Beitrag #1

MrIzu Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2011

LV-Version: 2011
LV-Erfahrung seit: 2011
LV-Sprachversion: DE



String Liste aus DLL in LV und zurück
Hallo,

ich habe folgendes Problem:

Ich bekomme von meiner DB eine Stringliste übergeben und muss nun eine DLL basteln, worüber LV die Liste einlesen kann und auch wieder eine Liste zurückgeben kann. Wie übergeb ich nun die Liste von der DLL zu Labview und wie bekomm ich sie wieder zurück? (DLL ist in C geschrieben)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
. .
08.11.2011, 18:22
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 1.836
Registriert seit: Jun 2007

LV-Version: alle seit 6.0
LV-Erfahrung seit: 1992
LV-Sprachversion: EN

PLZ: 2901GG
Land: Nierderlande
RE: String Liste aus DLL in LV und zurück
(08.11.2011 17:26 )MrIzu schrieb:  Hallo,

ich habe folgendes Problem:

Ich bekomme von meiner DB eine Stringliste übergeben und muss nun eine DLL basteln, worüber LV die Liste einlesen kann und auch wieder eine Liste zurückgeben kann. Wie übergeb ich nun die Liste von der DLL zu Labview und wie bekomm ich sie wieder zurück? (DLL ist in C geschrieben)

Was für eine DB ist das? Kannst Du nicht das Database Toolkit oder eine der anderen Database Bibliotheken benützten?
Falls Du wirklich eine DLL basteln willst solltest Du schon einige C Programmiererfahrung haben. Ansonsten gibts ein grosses Crashfest und hast Du die Chance dass die Applikation spater immer mal wieder crasht.

Rolf Kalbermatter
CIT Engineering Netherlands
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.11.2011, 14:52
Beitrag #3

MrIzu Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2011

LV-Version: 2011
LV-Erfahrung seit: 2011
LV-Sprachversion: DE



RE: String Liste aus DLL in LV und zurück
Die DB ist in SQLLite geschrieben. Das Problem, was ich vergesehen hatte zu erwähnen ist, das die Liste die rein bzw. rausgeht nciht immer die gleiche Länge hat. Und ich nicht weiß wie ich das in C bzw. Labview zu C umsetzen kann, da es in C meines Wissens nur Datentypen mit einer festen Länge gibt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.11.2011, 18:28
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 1.836
Registriert seit: Jun 2007

LV-Version: alle seit 6.0
LV-Erfahrung seit: 1992
LV-Sprachversion: EN

PLZ: 2901GG
Land: Nierderlande
RE: String Liste aus DLL in LV und zurück
(09.11.2011 14:52 )MrIzu schrieb:  Die DB ist in SQLLite geschrieben. Das Problem, was ich vergesehen hatte zu erwähnen ist, das die Liste die rein bzw. rausgeht nciht immer die gleiche Länge hat. Und ich nicht weiß wie ich das in C bzw. Labview zu C umsetzen kann, da es in C meines Wissens nur Datentypen mit einer festen Länge gibt.

Da ist Dein Wissen aber etwas eingeschränkt. C verwendet Pointer die man in fast jeder beliebigen Länge anlegen kann. Aber das muss man alles explicit programmieren, da ist kein LabVIEW Environment das das alles für Dich handhabt. Erschwerend komt hinzu, dass LabVIEW für C Datentypen tatsächlich nur vorab bekannte Längen unterstützt. Das ist weil die LaVIEW Speicherverwaltung ganz anders funktioniert dann in C. Oder sagen wir besser, in C besteht keine eindeutige Konvention über Speicherverwaltung. Jeder Programmier hat da seine eigenen Idee, und wenn man eine Funktion aufruft ohne die dabei verwendete Idee genau zu berücksichtigen, crasht es halt einfach.

Um variable sized Daten zu übertragen muss man mit LabVIEW Datentypen arbeiten und dessen Memory Manager Funktionen im C Code verwenden um jeden einzelnen Pointer korrekt anzulegen und/oder freizugeben. Kein Problem für einen erfahrenen C Programmierer aber typischerwise ein beinaheunüberwindliches Problem für den Durchsnitts- LabVIEW Programmierer.

Rolf Kalbermatter
CIT Engineering Netherlands
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2011, 07:55
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 1.836
Registriert seit: Jun 2007

LV-Version: alle seit 6.0
LV-Erfahrung seit: 1992
LV-Sprachversion: EN

PLZ: 2901GG
Land: Nierderlande
RE: String Liste aus DLL in LV und zurück
(09.11.2011 14:52 )MrIzu schrieb:  Die DB ist in SQLLite geschrieben. Das Problem, was ich vergesehen hatte zu erwähnen ist, das die Liste die rein bzw. rausgeht nciht immer die gleiche Länge hat. Und ich nicht weiß wie ich das in C bzw. Labview zu C umsetzen kann, da es in C meines Wissens nur Datentypen mit einer festen Länge gibt.

Also was die Stringliste in C Code betrifft, es ist machbar, und es gibt da einige Vorbilder auch von mir in diversen Forenberichten auf lavag.org und forums.ni.com. Aber es gibt eine andere Lösung die viel einfacher ist. Google "LabVIEW sqllite" und Du kommst als ersten Link bei http://www.labview-tools.com/software/sqlite-api/. Nicht zu glauben wie unbekannt Google ist! Big Grin

Rolf Kalbermatter
CIT Engineering Netherlands
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2011, 08:54
Beitrag #6

unicorn Offline
LVF-Freak
****


Beiträge: 646
Registriert seit: Jul 2009

LV-Version: 8.6.1, 2010, 2011
LV-Erfahrung seit: 1994
LV-Sprachversion: EN

PLZ: 10xxx
Land: Deutschland
RE: String Liste aus DLL in LV und zurück
Ist die Verwendung von SQLite schon festgelegt? Ich habe begonnen mit PostgresSQL so arbeiten. Die ist zwar nicht serverlos, kann aber auf dem Rechner installiert werden, auf dem auch das LV-Programm läuft. Über "localhost", ODBC-Treiber und das LabVIEW-Database-Toolkit klappt bisher alles wunderbar.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
.. .
14.11.2011, 17:16
Beitrag #7

MrIzu Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2011

LV-Version: 2011
LV-Erfahrung seit: 2011
LV-Sprachversion: DE



RE: String Liste aus DLL in LV und zurück
Problem wurde gelöst. Danke!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.12.2011, 13:25
Beitrag #8

MrIzu Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2011

LV-Version: 2011
LV-Erfahrung seit: 2011
LV-Sprachversion: DE



RE: String Liste aus DLL in LV und zurück
Das übergeben der Liste ist mittlerweile gelöst. Ich übergebe die Liste als einen kompletten String und nehm ihn in Labview auseinander. Danke für die Anregungen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  C-DLL liefert verfälschte Werte an LV zurück Adiboing 3 782 17.02.2011 10:16
Letzter Beitrag: Adiboing
  Erstellen einer USB-Device-Liste mithilfe von win32-api wonx 3 2.542 23.06.2009 16:17
Letzter Beitrag: rolfk

Gehe zu: