(20.03.2012 13:15 )arphex schrieb: Auch in Post #3 verstehe ich nicht warum ich vorsorgehalber immer deallozieren sollte. Mit was mache ich das denn?
Die Alloziierung übernimmt doch LabView in den meisten Fällen oder?
Das kannst du so gar nicht machen und LabVIEW kann es nicht automatisch da es nicht weiss ob es das machen soll oder nicht und wenn es falsch liegt, dann geht es gut falsch. Dies ist aber ein Problem das nur auftritt wenn Du eine DLL in LabVIEW mit der Call Library Node aufrufst und das tust Du meines Erachtens hier gar nicht.
Dein Problem liegt anders da Du ja in LabVIEW eine DLL erstellen willst. Das ist etwas komplet anderes (und LabVIEW intern noch viel komplizierteres).
Derr DLL Generator Interface unterstützt keine Strings als Rückgabewerte (wegen der Gründe kann man meinen vorigen Beitrag lesen aber wenn das zu kompliziert ist, nimmst Du einfach mal an dass das so ist). Da Dein VI aber scheinbar keine anderen Frontpanelelemente hat, kannst Du in der DLL Konfiguration halt auch nur eines dieser nicht bestehenden anderen Frontpanelelemente an den Rückgabewert der DLL Funktion zuweisen, also 0, nada, nientes.
Natürlich liesse sich in dieser Hinsicht einiges mehr eindeutig sagen, wenn Du im ersten Beitrag statt eines Screenshots der Konfiguration ganz einfach Dein DLL Project angehängt hättest. Ein Bild sagt zwar oft mehr dann tausend Worte, aber der Sourcecode ist immer noch die ultimative Instanz bei Programmierfragen (und um ein simples DLL Project mit Bildern zu dokumentieren hast Du eigentlich schon minimal 3 Bilder nötig (VI Front Panel, VI Diagramm, DLL Funktions Interface Konfiguration und selbst das gibt noch nicht unbedingt alle wichtigen Informationen her).
Aber Du brauchst den Ausgangsstring ja auch nicht als Rückgabewert zu konfigurieren, denn den hat Dir LabVIEW schon als Funktionsparameter "Ausgabe" eingefügt, und Strings als Funktionsparameter zu übergeben ist wesentlich eindeutiger definiert in C, was die Speicherverwaltung davon angeht.