我在VC里写一个标准的DLL向VB提供一些绘图操作。
void __stdcall Gradient(COLORREF cr1,COLORREF cr2,UINT uSteps,crs)
~~~
我想通过参数crs向VB返回一个Byte数组,请问crs该用什么样的类型,在VB中我又该怎么声明呢?
void __stdcall Gradient(COLORREF cr1,COLORREF cr2,UINT uSteps,crs)
~~~
我想通过参数crs向VB返回一个Byte数组,请问crs该用什么样的类型,在VB中我又该怎么声明呢?
解决方案 »
- HTTP服务返回文本,网页接收不到
- 求助!关于结构体,数据成员的问题!
- Debug Assertion Failed!
- 我的程序怎么在启动另一个程序后,给他的一个按钮发送一个单击消息~~~
- 请问关于 LoadBitmap
- mfc42d.dll的问题
- message==133 ???????????????????????????????
- 请问 40Star(陪你去看--☆流星雨★) 兄:如何将标题栏title删掉,再在上面帖图呢
- 在DrawItem中设置按钮的圆角问题
- 加载一张bmp到内存后,如何截取指定像素大小并保存
- 利用CArchive 进行网络传输的问题。高手请进
- 关于使用ODBC检索MS SQL Server中的IMAGE字段的问题!
VB: Gradient(...,...,..., ref Crs as BYTE)
~~~表示指针
呵呵,肯定是用指针了。
void __stdcall test(BYTE* xx)
{
BYTE cr[10];
int i;
for(i=0;i<=10;i++)
cr[i]=i;
xx=&cr[0];}
Private Declare Sub test Lib "J:\Artemis\Program\Standard DLLs\Graphics\Debug\graphics.dll" (ByRef xx As Byte)
Private Sub Form_Load()
Dim i() As Byte
test i
End Sub
:(,ByRef 参数类型不符。
然后我换成:
Private Sub Form_Load()
Dim i(10) As Byte
test i(0)
End Sub
数组里面的元素根本没有被赋值。:(,该怎么做才好啊??
xx=&cr[0];
换成
memcpy(xx,&cr[0],sizeof(cr));
这样就好了。呵呵~~~~~~~~