对于第一个问题,通过修改String变量里放着的BSTR描述符指针可以实现;对于第二个问题,可以用Mid语句(注意是语句而不是函数)来赋值。不详细讲了,直接看下面的这个类:
Option Explicit
'********************************************************
'clsBSTR.cls
'作者: 熊超 ID: AdamBear 2002年3月18日
'http://www.csdn.net/Author/AdamBear
' 你可以自由使用本类模块,不过请保留本声明
'********************************************************
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
'不要直接对sString赋值(可以用MID语句),将其设为公有仅为提高效率。
Public sString As String 'BSTR描述符指针
Private pStr As Long 'BSTR地址
Private nMaxLen As Long 'BSTR字节数
'让本字串指向特定地址
Public Sub Attach(Addr As Long, Optional nLen As Long)
pStr = Addr
'修改BSTR描述符指针,使其指向Addr
CopyMemory ByVal VarPtr(sString), Addr, 4
If IsMissing(nLen) Then Exit Sub
'设定字串字节数
nMaxLen = nLen
End Sub
'还原本字串原BSTR描述符
Public Sub Detach()
CopyMemory ByVal VarPtr(sString), 0&, 4
End Sub
本文来自 280文秘网(https://www.it280.com),转载请保留网址和出处
【VB“变态”用法之高效字串指针类】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布03-23
2012宁夏高考报名方式03-23
Vb中控件的自动排列03-23
写未来的作文300字03-23
小学父爱的作文600字03-23
2018国家电网新大纲财会类市场模拟卷多选题(二)03-23
荷花作文600字03-23
2016年职称英语综合类阅读判断练习八03-23
07年4月北师大“中国古代文学史(一)”串讲(5)03-23
寓言作文300字03-23
