!!!!!DllImport的使用!!!!!
(C++)开发
void __stdcall Make(char* szData, long nBarType, long nPicHeight,char* szBmpFileName);
参数说明:szData 条码数据 各种类型条码所支持数据类型不同
nBarType 条码类型编号
nPicHeight 生成条码图片的高度,象素
szBmpFileName 生成条码的图片文件名,BMP格式
我的代码
[DllImport( "MakeBarCodeOne.dll ")]
public static extern void Make(string szData, long nBarType, long nPicHeight, string szBmpFileName);
public void MakeBar()
{
Make(textBox1.Text, 8, 40, @ "D:\abc.bmp ");
}
报错:
尝试读取或写入受保护的内存。这通常指示其他内存已损坏
PS:一定要把要Import的DLL放到System32文件下吗?
------解决方案--------------------当前运行的目录,system32,或者配置好的环境变量目录都是可以的。
------解决方案--------------------把C++ LONG -> C# int