INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

String Liste aus DLL in LV und zurück



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.11.2011, 17:26
Beitrag #1

MrIzu Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Nov 2011

2011
2011
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
Anzeige
08.11.2011, 18:22
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
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
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
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

2011
2011
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: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
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
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
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: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
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
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
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: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
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

2011
2011
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

2011
2011
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 5.407 17.02.2011 10:16
Letzter Beitrag: Adiboing
  Erstellen einer USB-Device-Liste mithilfe von win32-api wonx 3 7.721 23.06.2009 16:17
Letzter Beitrag: rolfk

Gehe zu: