正在阅读:VB与VC通信初探(一)VB与VC通信初探(一)

2004-05-11 10:21 出处:CSDN 作者:eliner 责任编辑:linjixiong
在使用VB调用VC写的DLL的时候,可以实现一些VB不能实现或者很难实现的功能,但是,因为VB与VC之间的数据类型并不总是完全对应的,所以,在进行参数传递的时候,就需要进行类型转换了。下面我将通过逐步的推进的方法,来看看如何达到VB与VC之间的通信。      首先,看一个简单的例子。      VC中的程序:      extern "C" _declspec(dllexport) void ReadString(void)      {      //函数功能      }      将这个VC程序编译成DLL程序供VB调用(假设生成的为commication.dll)      VB中的程序:      ……………………      Private Declare Function ReadString Lib "commication.dll" ()      ……………………      call ReadString      在这里,我们实现了一个简单的通信,即在VC中写了一个DLL,然后再在VB中调用了这个DLL,但是,在这次的通信中,实际上他们之间没有传递任何数据,仅仅是VB调用了DLL,从而使得commication.dll中的函数ReadString()函数执行。这种通信实现是非常简单,所以他完成的功能也就非常的简单,然而我们的要求肯定不止于此。      现在就让我们来实现一个使用DLL来处理VB中的数据的例子,并且将处理结果返回给VB程序:      VC中的程序:      extern "C" _declspec(dllexport) bool ReadString(bool receive)      {      if(receive==true)      return true;      else      return false;      }      VB中的程序:      ……………………      Private Declare Function ReadString Lib "commication.dll" (ByVal send As Boolean) as Boolean      ……………………   Dim result As Boolean      Dim send As Boolean      send = False      result = ReadString(send)      If result Then      MsgBox "The return value is 'true'"
察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品