有个api需要调用,在delphi中是这样:
function DrawQRCode(DC :HDC; Data :PWideChar; Bounds, BarcodeMatrix :PRect; ModuleSize, Color, Params :DWord) :DWord;stdcall; external 'QRCodeEnc.dll' name 'DrawQRCode';
我在c#中用一下调用
[DllImport("QRCODEENC.DLL", EntryPoint = "DrawQRCode", CharSet = CharSet.Auto)] public static extern string DrawQRCode(IntPtr DC, String Data, Rectangle Bounds, Rectangle BarcodeMatrix, UInt32 ModuleSize, UInt32 Color, UInt32 Params);
使用起来说提示内存错误,一时间调试不出来问题出在哪里,请帮忙一下
DC:HDC 这个是画图的句柄吧,后面参数好像是矩形什么的,学的windows编程基本全忘了
提示内存错误 估计是指针读数据越界,指针读了不该读的数据。
DllImport 有个 CallingConvention 属性,你换成 StdCall 测试下。