以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  字符长度的语法出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188710)

--  作者:zhangchi96
--  发布时间:2023/10/12 22:15:00
--  字符长度的语法出错
写了一段一下代码:
\' --- 探测一下本机MAC地址\'
Dim nics() As System.Net.NetworkInformation.NetworkInterface = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces
Vars("mac地址") = nics(0).GetPhysicalAddress.Tostring        \'获得MAC地址
If HardWareInfo.Ready = False \'如果没有初始化
    HardWareInfo.Initialize \'初始化HardWareInfo,提取硬件信息
End If
With HardWareInfo.CPU
    Vars("电脑序列号") = .ProcessorId    \'CPU序列号
End With
With HardWareInfo.BaseBoard
    Vars("电脑序列号") =  Vars("电脑序列号") & .SerialNumber   \'主板序列号\'
End With
With HardWareInfo.Disk
    Vars("电脑序列号") =  Vars("电脑序列号") & .Signature       \'硬盘序列号\'
End With
With HardWareInfo.Bios
       Vars("电脑序列号") =  Vars("电脑序列号") & .SerialNumber     \'BIOS序列号\'
End With
Vars("电脑序列号") =  Vars("电脑序列号") & Vars("mac地址")
If len(Vars("电脑序列号")) > 250 Then
    Vars("电脑序列号") =  Vars("电脑序列号").Substring( 0 ,250)  \'截取左边250字符
End If

没加最后三句话时未曾发现问题,但加了最后三句话时,发布前运行没问题,发布后运行就出现提示:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,登录窗体,AfterLoad
详细错误信息:
索引和长度必须引用该字符串内的位置。
参数名: length

请问,这可能是什么原因


--  作者:有点蓝
--  发布时间:2023/10/12 22:43:00
--  
我测试没有问题,调试看看是什么内容

……
Vars("电脑序列号") =  Vars("电脑序列号") & Vars("mac地址")
msgbox(Vars("电脑序列号"))
msgbox(len(Vars("电脑序列号")))