用vb.net调用dll的问题
vb.net吧
全部回复
仅看楼主
level 6
fsl470657570 楼主
苦逼啊,有个软件,可以用vb6.0调用。现在要用vb.net调用,然后出现些语法上面的不懂,用vb.net的话这几句该如何改写呢?还有就是如果把后面的*255删掉运行又会报错 不好意思不会贴图,第一个是图示删除*255之后运行的结果,第二个是代码中显示的语法错误,找了半天也找不到有关内容
2013年04月16日 09点04分 1
level 11
第一句应该是这么写的
Public herr As String = CType(herr,System.Int32) * 255
Public htyp As String = CType(htyp,System.Int32) * 3
以此类推
我的理解是String是字符串不可能直接*3,必须要转换成Int32或者是其他的数字类型才可以
2013年04月16日 10点04分 3
*3的意思是给这个值分3个长度的空间,并不是乘
2013年04月16日 11点04分
回复 fsl470657570 :固定字长的字符串不能做public 成员
2013年04月16日 14点04分
回复 yu_jizhou :那应该怎么改写成vb.net的呢?
2013年04月16日 14点04分
回复 fsl470657570 :这个我得查查…
2013年04月16日 15点04分
level 13
星号255是定长字符串,长度255。vb.net不能这样。把
dim a as string*255
改成
dim a as string=space(255)
2013年04月17日 12点04分 4
回复@Nukepayload2 :试过 但是不行 不过已经解决这问题了 ------来自 爱贴吧HD for Windows8
2013年04月17日 12点04分
@fsl470657570 我这样写成功了。我调用的是GetWindowText,有个参数需要有一定长度的字符串
2013年04月17日 12点04分
回复@Nukepayload2 :我的事vs2012 直接报错啊 因为昨天也有一个人让我那样写 我换成了Public herr As New String(ChrW(0), 255)可以了 是不是public的原因? ------来自 爱贴吧HD for Windows8
2013年04月17日 14点04分
@fsl470657570 可能是space的问题。
2013年04月17日 15点04分
level 13
例:
错误 getwindowtext(cint(textbox1.text),str,999)
正确
dim hwnd as integer=cint(textbox1.text)
getwindowtext(hwnd,str,999)
可不写cint
2013年04月18日 12点04分 5
回复@Nukepayload2 :貌似原理一样的,但是第一个是在调取的同时转换,这样容易造成错误? ------来自 爱贴吧HD for Windows8
2013年04月18日 13点04分
回复 fsl470657570 :那样确实容易出错。
2013年04月18日 14点04分
回复 fsl470657570 :调用内置的组件不用改成第二种。仅限于dll导入
2013年04月18日 14点04分
回复@Nukepayload2 :dll导入我发现问题很多,有时候一下对了一下又错了,而且速度貌似挺慢,算点东西要卡一会儿 ------来自 爱贴吧HD for Windows8
2013年04月18日 15点04分
level 11
vb6里面的定长字符串是 多出来的截断 不足的用空格补 在vb.net没有完全对应的类型
不过如果不是特别需要定长 可以用space() 或者构造函数实现
2013年04月20日 14点04分 6
回复@飞龙 :谢谢,事实证明你说的两种方法都可以,不过貌似用space()好点,构造函数有时候报错 ------来自 爱贴吧HD for Windows8
2013年04月21日 04点04分
level 1
兄弟。我也在用VB调用refprop,但是显示无法加载。。。请教下你,如何调用?
2017年01月04日 08点01分 7
1