07.06.2007, 16:24
Hallo. Ich habe folgendes Problem. (LabVIEW- Version: 8.2)
Ich rufe eine Funktion in einer DLL auf, der ich bestimmte Paramter übergebe . Einer davon ist ein double-Wert. Und genau mit diesem Wert gab es Probleme.
Denn, nicht bei jedem Wert konnte die Funktion aus der DLL erfolgreich ausgeführt werden. Hinter den Werten die nicht gingen versteckte sich auch kein wirkliches Muster, so dass ich daraus nichts ableiten konnte.
Durch Zufall konnte ich das Problem lösen. Aber für mich ergibt dies keinen Sinn.
Folgendes habe ich gemacht:
Von dem eingegebenen double-Wert habe ich den Betrag gebildet und zum nächsten Wert aufgerundet. Damit ging das dann. Aber das Lustige ist, die Werte vor der Betragsbildung und nach dem Nearest sind identisch. Der Datentyp bleibt auch weiterhin vom Typ double.
Bsp: 6000 -> || -> [] -> 6000
Für mich ist das ein unverständliches Phänomen! Hat evtl. jemand schon ähnliche Erfahrungen gemacht oder hat vielleicht jemand einen Rat woran das liegen kann?
Übrigens, an der DLL lag es nicht. Ich hatte eine C-Anwendung geschrieben in der die DLL geladen und die Funktion aufgerufen wird. Da gab es von anfang an keine Probleme. Aber da sehe ich ja auch was mit meinen Variablen passiert oder welchen Datentyp sie haben.
Vielen Dank!
Mit besten Wünschen
Jörg
Ich rufe eine Funktion in einer DLL auf, der ich bestimmte Paramter übergebe . Einer davon ist ein double-Wert. Und genau mit diesem Wert gab es Probleme.
Denn, nicht bei jedem Wert konnte die Funktion aus der DLL erfolgreich ausgeführt werden. Hinter den Werten die nicht gingen versteckte sich auch kein wirkliches Muster, so dass ich daraus nichts ableiten konnte.
Durch Zufall konnte ich das Problem lösen. Aber für mich ergibt dies keinen Sinn.
Folgendes habe ich gemacht:
Von dem eingegebenen double-Wert habe ich den Betrag gebildet und zum nächsten Wert aufgerundet. Damit ging das dann. Aber das Lustige ist, die Werte vor der Betragsbildung und nach dem Nearest sind identisch. Der Datentyp bleibt auch weiterhin vom Typ double.
Bsp: 6000 -> || -> [] -> 6000
Für mich ist das ein unverständliches Phänomen! Hat evtl. jemand schon ähnliche Erfahrungen gemacht oder hat vielleicht jemand einen Rat woran das liegen kann?
Übrigens, an der DLL lag es nicht. Ich hatte eine C-Anwendung geschrieben in der die DLL geladen und die Funktion aufgerufen wird. Da gab es von anfang an keine Probleme. Aber da sehe ich ja auch was mit meinen Variablen passiert oder welchen Datentyp sie haben.
Vielen Dank!
Mit besten Wünschen
Jörg