双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

请教高手:为什么dll里面的值传不到主程序?在线等待.急!!!!!!!!!!

casio casio 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我是初学者,请教高手:

明明下面dll函数中的char * cc值发生了变化,为什么vb调用函数部分[ Call RSWR(1, st) ]中的st却没有任何改动?我究竟错在哪里?

跟贴有分。多谢解惑。


/////////////////////////////////////////////////////
dll函数:
extern "C" short APIENTRY RSWR(int num,char *cc) //Read
{
cc=m_ComPort[num].ReadComm();
AfxMessageBox(cc); //此处cc的值已经发生了改动
}

/////////////////////////////////////////////////////////
VB声明:
Declare Function RSWR Lib "magcard.dll" (ByVal i As Integer, ByRef str As String) As Integer


///////////////////////////////////////////////////////////
VB调用函数:
Private Sub Command2_Click()
Dim st As String
Call RSWR(1, st) 'read
MsgBox st //为何这里st的值没有任何改动?
End Sub


我究竟错在那里?
...全文
评论 17
收藏 已收藏
分享
返回顶部
casio
进程/线程/DLL 15,466 成员 49,169 内容