比如我声明了一个结构体
type point
x as long
y as long
end type
那么我又拥有一个
dim obj(100) as byte
obj里面有内容
我想把obj强制转换成point,应该怎么做。我是做vc的,vc里面很好做,但是不知道vb又没有这样的功能?谢谢
type point
x as long
y as long
end type
那么我又拥有一个
dim obj(100) as byte
obj里面有内容
我想把obj强制转换成point,应该怎么做。我是做vc的,vc里面很好做,但是不知道vb又没有这样的功能?谢谢
解决方案 »
- VB 16进制转10进制
- 打造第一私活群,请大家相互转告,踊跃加入,群号17249308,这里有丰富的资源共享,还等什么呢??
- VBscript与jscript两种脚本,大家认为哪个更有前途些呀?
- 我用ActiveBar2.0专业版做的菜单(全用代码写的),怎么做下一级菜单,我现在只能做一级的!
- combox想做一个模糊查询
- 进销存数据库表如何设计?
- 怎样实现控件中的信息输出到图片文件中
- 高分求答有关宏的问题?
- 怎样将在安装我的程序后动态图像
- 再问怎样才能使得在安装过程中新建一个文件夹,(不同)
- 用VB隱藏進程太難了,但讓程序不顯示在任務管理器裡的“應用程序”裡(“進程”項裡可以有),行不行呢?
- 关于vb出现文件名冲突的问题。。
至于vc里怎么转,我很想请教一下,我正在学vc:)
POINT pt;
BYTE *bt;
// bt = new BYTE[8];
// bt = ...
memcpy(&pt,bt,sizeof(pt));我想不调用memcpy等api的话,在vb里面能做吗?
那你就将Byte写入文件,再用point结构读出。
建立一个vb的主程序
然后代码如下
Private Declare Function fnvcTest Lib "vcTest" (ByVal l&) As LongPublic Function abc(ByVal a As Long)
MsgBox a
End FunctionPrivate Sub Form_Load()
Dim ll
ll = fnvcTest(AddressOf abc)
End Sub
我用vc写了一个dll叫做vcTest,导出一个函数声明如下
typedef long (*TESTFUNC)(long l);
VCTEST_API WINAPI int fnvcTest(TESTFUNC pf);
其实就是在这个函数里面一回调函数的方法调用vb的abc函数
可是程序已运行就说
变异错误
操作符addressof使用无效
ll = fnvcTest(fptr((AddressOf abc))function fptr(byval ptr as long) as long
fptr = ptr
end function
这个函数声明必须放在标准模块中,不能放在窗体中
AddressOf关键字只能传递位于标准模块中的Public声明的公用过程或函数。
按照你的方法我调用成功了
http://blog.csdn.net/liutaoxwl/archive/2005/05/21/377759.aspx马上结贴,再次感谢。