在记录集里使用CopyMemory到Variant变量的问题
不知道为什么SQL2005就是不能使用GetChunk到一个字节组,但是可以读取到Variant变量,我用StrPtr可以取得其内存的地址,用CopyMemory读取数据完全没有问题,但是写数据就不行了。
Dim mg(7) As Long, lm As Long,itm As Variant
CopyMemory mg(0), ByVal StrPtr(itm), 28
取任何指针的数据都可以,像这样
lm = StrPtr(itm) + lb1 * 6
CopyMemory mg(0), ByVal lm + 8, 28
但是我反过来写
CopyMemory ByVal lm + 8, mg(0), 28
也没出错。但是再次读取内容没变。
这里必须用StrPtr,如果用VarPtr或者直接写变量CopyMemory mg(0), itm, 28时,内存就出错了。
说明内存位置都是对的。能读应该能写啊。为什么写了之后,再读出来还没有变呢。