private declare sub GetBuffer lib ... (byref buffer as long )dim x(10) as long
GetBuffer(x(0))
GetBuffer(x(0))
解决方案 »
- VBA的load事件
- 初学VB 这句代码 Declare Function MnpCloseComm Lib "mnp" () As Long 是什么意思啊?
- 如何只要选择文件夹以后,就可以把文件夹下所有满足需要的文件添加到list里面!
- 请教一个转换函数问题,在线等待......
- 那个英雄能让这个程序的菜单项 d 变为有效?打开后会有美眉出现!
- 我有一个很棘手的问题,请大家帮忙。是关于vb控制word文件的。
- WIN XP VB60 打包 TO WIN98SE
- 什么是MSDN??我怎么装不了?
- 百分献给我的兄弟姐妹们!!!(紫狐)
- 有哪位有gif控件的,请发到我的信箱吧:[email protected],拜托了
- 请问有没有简单易用的日期控件?
- help在线
在VB里它自动写成了GetBuffer(buffer As Long)
不过跟你说的byref buffer as long 应该是一样
返回的数据就是不对啊
GetBuffer(x(0))
不行吗?
{
long m_nChFirstY[100];
memset(m_nChFirstY, 8, 100);
buffer = m_nChFirstY;
CString s;
s.Format("%d", buffer[0]);
MessageBox(s);
}MessageBox已反映出buffer[0]为8
Dim buffer(0 To 1500) As Long
Dim s As longPrivate Sub CFixPicture_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Double, ByVal Y As Double)
Call XsOmron1.GetBuffer(buffer(0))
s = buffer(0)
End Subs值还是0
void CXsOmronCtrl::GetBuffer(long *buffer)
{
long m_nChFirstY[100];
memset(m_nChFirstY, 0, 100);
m_nChFirstY[0] = 8;
buffer = m_nChFirstY;
CString s;
s.Format("%d", buffer[0]);
MessageBox(s);
}
就这个例子
谁告诉我,我可以再加分的
{
//long m_nChFirstY[100];
memset(*buffer, 8, 100);
buffer = m_nChFirstY;
CString s;
s.Format("%d", *buffer[0]);
MessageBox(s);
}估计你的IDL也不对
{
long *m_nChFirstY;
m_nChFirstY = *buffer
memset(m_nChFirstY, 8, 100);
//CString s;
//s.Format("%d", *buffer[0]);
//MessageBox(s);
}
订正一下
Dim yData(0 To 100) As Long
Dim lpbuff As Long
Dim s As Long
XsOmron1.GetBuffer lpbuff
CopyMemory yData(0), lpbuff, 4
s = yData(0)
End Sub还是不行,s数值是零
记得要改IDL定义