以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]定义定长字符串问题?在线等  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=16783)

--  作者:xingzy
--  发布时间:2012/2/23 16:22:00
--  [求助]定义定长字符串问题?在线等
我在窗口的afterload时间中定义一个定长字符串
Dim data32 As New VB6.FixedLengthString(32)
保存时提示错误   未编译错误:为定义类型VB6.FixedLengthString

在外部引用中添加了Microsoft.VisualBasic.Compatibility的引用

急!恳请各位大侠帮忙解决!

--  作者:狐狸爸爸
--  发布时间:2012/2/23 16:34:00
--  

用这个代替:

 

Dim s As new StringBuilder(32)


--  作者:xingzy
--  发布时间:2012/2/23 16:50:00
--  
用这个试过了,不行啊。
我在全局代码中Declare Function rf_HL_read Lib "mwhrf_bj.dll" (ByVal icdev As Integer, ByVal mode As Short, ByVal Adr As Short, ByRef Snr As Integer, ByVal sdata As String, ByRef ssnr As Integer) As Short
在窗口的afterload时间中定义字符串data32
Dim data32 As New VB6.FixedLengthString(32)就是为了接收  rf_HL_read 返回的数据,使用 Dim s As new StringBuilder(32)没有返回结果


--  作者:狐狸爸爸
--  发布时间:2012/2/23 16:54:00
--  

万里之后,用:

 

s.ToString可以得到结果。

 

Dim  ns As String = s.Tostring


--  作者:xingzy
--  发布时间:2012/2/23 17:02:00
--  
使用了 .ToString,仍然没有,在vb.net 中 Dim data32 As New VB6.FixedLengthString(32),调用  rf_HL_read 后使用data32.value就可以了,在狐表中,为什么就不能 Dim data32 As New VB6.FixedLengthString(32)这样呢
--  作者:狐狸爸爸
--  发布时间:2012/2/23 17:16:00
--  

我测试通过:

 

1、引用这个文件microsoft.visualbasic.compatibility.dll

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:microsoft.visualbasic.compatibility.dll.zip

 

2、

 

Dim s As New Microsoft.VisualBasic.Compatibility.VB6.FixedLengthString(32)


 


--  作者:xingzy
--  发布时间:2012/2/23 17:44:00
--  
谢谢狐狸爸爸!
我是Dim s As New VB6.FixedLengthString(32)出错,用您的这个 Dim s As New Microsoft.VisualBasic.Compatibility.VB6.FixedLengthString(32)应该是没有问题了