C#调用dll变体出错问题
使用大漠DLL插件中的screentoclient()函数,使用Tlbimp转换,版本为3.5
转换后的原型为screentoclient(int hwnd,ref object x,ref object y)作用是将屏幕x,y的坐标值改变为某窗口客户区的坐标值
查询得知,该插件好像是c++开发的控件,这两个值使用的是变体变量,于是使用object进行封箱。
string x=null,y=null;
object x1=x;
object y1=y;
调用screentoclient报错说插件仅能识别VT_I2和VT_I4,网上查意思是VC++整型变体变量和长整型变体变量
于是改用
Int16 x=0,y=0;
object x1=x;
object y1=y;
和
Int64 x=0,y=0;
object x1=x;
object y1=y;
包括Int32也试了,全都是报错为数据类型不兼容,请问这里应该怎么进行封箱才能正确取得x,y坐标的值
我用的VS2008的C#。