(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.