如何用VC写一个DLL,然后用VB调用? 最好能给一个简单的例子。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://asp.6to23.com/nowcan/tech/kbtrc.htm VB调用DLL的方法和调用Windows API的方法是一样的,一般在VB的书中有介绍。对于上面一个例子,先要声明VC函数: Declare Function sample Lib "mydll.dll" (ByVal nLen As Integer, buffer As Integer) As Integer 这里mydll.dll是你的dll的名字。你可能已经注意到了两个参数的声明有所不同,第一个参数加上了ByVal。规则是这样的:如果在VC中某个参数声明为指针和数组,就不加ByVal,否则都要加上ByVal。在VB中调用这个函数采用这样的语法: sample 10, a(0) 这里的a()数组是用来存放数据的,10为数组长度,这里的第二个参数不能是a(),而必须是要传递的数据中的第一个。这是VB编程的关键。 下面在说几个可能遇到的问题。一个问题是VB可能报告找不到dll,你可以把dll放到system目录下,并确保VB的Declare语句正确。另一个问题是VB报告找不到需要的函数,这通常是因为在VC中*.def文件没设置。第三种情况是VB告诉不能进行转换,这可能是在VC中没有加上__stdcall关键字,也可能是VB和VC的参数类型不一致,注意在VC中int是4个字节(相当于VB的Long),而VB的Integer只有2个字节。必须保证VB和VC的参数个数相同,所占字节数也一致。最后一个要注意的问题是VC中绝对不能出现数组越界的情况,否则会导致VB程序崩溃。 swprintf的二个参数问题 怎样所有全局变量都出事化前调用我的一个函数 directx 显示图片,全速运行时黑屏? 想搞个VC代码(静态)分析工具,大家看看都有哪些事情可做。thx try odbc对多个表操作的问题 注册表中,HEX类型的健值,怎样正确读出来????(答出者给予高分,答详细点) 关于COM的问题 急,关于网络会议的问题。 紧急求助!! 请问:如何使一个对话框的按钮变灰色以及使此按钮的不可用,急 vc的ide有时不能自动提示,郁闷中。。。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货