二次开发问题汇总【C#】
1未将对象引用到实例。
接口函数的参数不对。解决办法【用fixed去限制数组长度】
unsafe public struct VCI_BOARD_INFO
{
public UInt16 hw_Version;
public UInt16 fw_Version;
public UInt16 dr_Version;
public UInt16 in_Version;
public UInt16 irq_Num;
public byte can_Num;
public fixed byte str_Serial_Num[20];
public fixed byte str_hw_Type[40];
public fixed byte Reserved[8];
}
2试图加载格式不正确的程序。
CPU类型选X64或X86【二选一】
另外dll文件放入Debug文件内。
3 函数无反应【软件闪退】
函数的参数不对。
不可以将byte数组改char数组,【因为影响到函数签名了。】
4万能参数:
只要是参数就会占用bit
万能参数
public struct VCI_BOARD_INFO //主板信息
{
bool i;
}
public struct VCI_BOARD_FIND2 //主板信息
{
byte i;
}
然后用这个参数去测试接口函数。
5尝试读取或写入受保护的内存:
原因:接口函数的参数错误【需要定义正确的参数】
6