[DllImport("PCI-Dask.dll")]
public static extern short DI_ReadPort (ushort CardNumber, ushort Port, out uint Value);我在C#代码里面调用改方法,
int Result,gIOCard;
long gSigInput;
Result = DASK.DI_ReadPort((ushort)gIOCard, (ushort)0,out (uint) gSigInput);
一直出现编译错误是:ref或out参数必须是可以赋值的变量!
跪求大家帮助啊。紧急啊
public static extern short DI_ReadPort (ushort CardNumber, ushort Port, out uint Value);我在C#代码里面调用改方法,
int Result,gIOCard;
long gSigInput;
Result = DASK.DI_ReadPort((ushort)gIOCard, (ushort)0,out (uint) gSigInput);
一直出现编译错误是:ref或out参数必须是可以赋值的变量!
跪求大家帮助啊。紧急啊
uint gSigInput;
Result = DASK.DI_ReadPort((ushort)gIOCard, 0,out gSigInput);试一试
[DllImport("PCI-Dask.dll")]
public static extern short DI_ReadPort(ushort CardNumber, ushort Port, ref uint Value);// 调用
ushort gIOCard = 0;
uint gSigInput = 0;
short Result = DI_ReadPort(gIOCard, 0, ref gSigInput);
我只改拉uint gSigInput;
其他变量参数没改。把原来Result = DASK.DI_ReadPort((ushort)gIOCard, (ushort)0,out (uint) gSigInput);
改成Result = DASK.DI_ReadPort((ushort )gIOCard, (ushort )0, out gSigInput);就可以啦。这个是为什么呢?昨天一直调拉5个小时。 我变量gSigInput之前是long在out后面加个显示转换成(uint)为什么一直不行呢?求解释。谢谢
这样编译时报错还是运行时报错?
(uint)av
不等于
uint av
av