从品牌网站建设到网络营销策划,从策略到执行的一站式服务
如果DLL不是你写的,且你要调用的函数不是__stdcall声明,VB直接调用是会报错的
临川ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
如果DLL是你写的,注意调用约定问题,并看以下代码
***************************************************
以下是DLL代码
.cpp里这么写
extern "C"__declspec(dllexport) void __stdcall HelloWorld()
{
MessageBox(NULL,"HelloWorld","HelloWorld",NULL);
}
.def里这么写
LIBRARY "XXXX"
EXPORTS
; 此处以下添加
HelloWorld@1
*************************************************
vb里这么写
Public Declare Sub HelloWorld Lib "XXXX.dll" ()
然后调用就可以了,上面是VB的代码,或许VB.net的也差不多
在c语言中每一个变量都有两个属性一个是值,一个是址。比如inta=2;变量a的值是2,变量a的地址,可以用取地址
操作符
获取,即a。因此以C语言的函数传递中具备两种方式传递参数,一种是传址,一种传值。比如voidf1(intv){;}//函数f1v
按照我的理解,你的这个需求是没有办法做到的, 除非C#的dll被封装为了一个COM组件并且注册了,但是你的这个dll已经写成了,所以理论上来说应该不是com,而C#的程序集是不提供向前兼容的,所以用一个老的语言调用新的技术的组件是做不到的,不过也有一种可能性,不过很难实现,大体逻辑这样,首先通过vb调用一个native的组件,用C或者c++完成,在这个组件里面加载clr,在clr里面加载c#的程序集,实例化对象,执行调用
可以调用,基于的框架是一致,只要先把VB.net写的程序编译成dll之后就可以调用,如果是在程序里面直接调用的话需要先引用vb类
using Microsoft.VisualBasic
------------------------------------------00000000000000000000000000++++++++++++++++++
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图