' schrieb:Hey oh Leute,
vorneweg es schneit hier bei uns grad total und ich finds Mega geil
ok xD
Also ich habe in LV ein 2d BoolArray dieses soll dann an meine DLL geschickt werden(Input). Und dann in der DLL wird aus true == false, sprich auch 1 wird 0 und andersrum. Leider kann ich der DLL kein 2dBoolArray übergeben. Deshalb benutze ich im moment "Boolean to 1,0".
Ich hatte mir schon gedacht das wenn ich aus den hereinkommenden int werten ein boolarray mache könnte ich das zurückliefern, aber das geht leider nicht. Soll heißen mit C kann ich per DLL auch kein 2dBoolArray zurück an LV geben. Und ich weiß beim besten Wille nicht wie ich aus meinem 2dIntegerArray(Output) nen 2dboolArray machen könnte.
Weiß jemand wie ich das realisieren könnte?
peace Adi
Also das Umgekehrte von "Boolean to 1,0" ist natürlich "Ungleich 0"!!! Sehr einfach! Denk einfach mal ausserhalb der kleine Box der Boolean Palette.
Alternative wäre um den Parameter als Adapt to Type zu konfigurieren. Dann musst Du aber damit Rechnung tragen dass das LabVIEW Array das hineinkommt folgendermassen aussieht:
typedef struct {
int32 dim1; // Size of first dimension
int32 dim2; // Size of second dimension
LVBoolean elm[0]; // actual data as an linear byte array (LVBoolean == uInt8)
} LVBooleanArr, **LVBooleanArrHdl;
By Konfiguration "Handles as Value":
MgErr MyBoolean2DArrayFunc(LVBooleanArrHdl BoolArrHdl);
By Konfiguration "Pointers to Handles ":
MgErr MyBoolean2DArrayFunc(LVBooleanArrHdl *pBoolArrHdl);