Тогда дело в дллимпорте. Я точно не помню как он пишется 1 раз делал потом на c# свою либу писал для общения по овену. укажите явно [In],[Out] параметры. float value точно было ин аут.
Точно не помню но делал такое а код уже удалил. Попробуйте вместо Unicode поставить ASCII и тип возвращаемого значения float.Код:[DllImportAttribute("owen_io.dll", EntryPoint = "OpenPort", CallingConvention = CallingConvention.StdCall)] public static extern int OpenPort(int n, int speed, int part, int bits, int stop, int vid); [DllImportAttribute("owen_io.dll", EntryPoint = "ClosePort", CallingConvention = CallingConvention.StdCall)] public static extern int ClosePort(); [DllImportAttribute("owen_io.dll", CharSet = CharSet.Unicode, EntryPoint = "ReadFloat24", CallingConvention = CallingConvention.StdCall)] public static extern float ReadFloat24(int adr, int adr_type, [MarshalAs(UnmanagedType.BStr)] string command,[In] [Out] ref float value, int index);




Ответить с цитированием