当前位置: 首页 > news >正文

VB.net调用VC DLL(二)

参考文献5,讲了在C程序中直接调用DLL和lib的函数方法,不是通过编译器连接方式

也讲了在非C程序中直接调用DLL和lib的函数方法。

实操了一下,建了win32dll项目

新建.h文件和.cpp文件

.h文件中加:

void __stdcall funcA(double* dB, double* dL);

.cpp文件中加:

void __stdcall funcA(double* dB, double* dL)

{

}

新建.def文件

LIBRARY
EXPORTS
   funcA @16

funcA后面有个空格,@后面是参数的字节数,8+8=16

编译生成了dll,放在system32下,

在VBA7下调用,

Private Declare PtrSafe Sub funcA Lib "libA.dll" (ByRef dB As Double, ByRef dL As Double)

调用函数,找不到dll,真是太奇怪了。

VBA给出的提示如下:

加载 DLL 时的错误(错误 48)
动态链接库 (DLL) 就是在 Declare 语句的 Lib 子句中所指定的库。此错误有以下的原因和解决方法: 

此文件并非可执行的 DLL。 
如果此文件是正文源文件,它必须编译并链接成可执行的 DLL 形式。 

此文件并非 Microsoft Windows DLL。 
取得此文件相应的 Microsoft Windows DLL 版。 

此文件是早期的 Microsoft Windows DLL,而且和 Microsoft Windows 保护方式不兼容。 
取得更新的版本。 

此 DLL 引用到其他不存在的 DLL。 
取得此被引用的 DLL 并让它能提供其他 DLL 使用。 

此 DLL 或所引用的 DLL 并不在所指定的目录中。 
移动 DLL 到所引用的目录或将 DLL 所在的目录添加到路径中。 

详细信息,可选取有问题的项目,并按下 F1 (在Windows中)或HELP(在Macintosh中)键。 

猜测可能是dll不是64位,重新生成64的dll,替换之前的32位 dll

函数成功调用

1、https://bbs.csdn.net/topics/390248432

2、vs开发遇到的问题之MSI未能注册模块 xxx.dll。HRESULT -2147024770。请与你的技术支持人员联系。_未能注册模块请与技术人员联系-CSDN博客

3、VBA如何调用动态链接库dll文件VBA如何调用动态链接库dll文件_微软技术-CSDN问答 

4、模块已加载,但找不到入口点DLLRegisterServer[通俗易懂]-腾讯云开发者社区-腾讯云 

5、https://www.cnblogs.com/dusty-cjh/p/8253526.html 

相关文章:

  • AD域离线破解新思路:Trustroasting和TimeRoasting
  • HTML(13)——显示模式
  • 渗透测试基础(四) MS08-067 漏洞攻击
  • InPixio Photo Cutter v10 解锁版安装教程 (懒人抠图工具)
  • KEYSIGHT是德E5063A网络分析仪
  • 网络编程面试题
  • 企业PC端官网在线客服源码系统 完全开源可二开 附带源代码包+搭建部署教程
  • ABB机器人SMB板卡的安装及更换方法
  • AI视频智能监管赋能城市管理:打造安全有序的城市环境
  • 关于BERT和embedding
  • MacBook Air M3的电脑怎么样 新买MacBook Air提示内存不足 苹果电脑内存不够用怎么办
  • Nginx 部署 Vue 打包项目,将dist目录上传至ngnix中的目录中,遇到的问题
  • Git 和 TortoiseGit 安装和配置(图文详解)
  • Java程序之简单求和
  • 第一章 项目简介创建主窗体
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • HTTP那些事
  • Javascript 原型链
  • RxJS: 简单入门
  • scrapy学习之路4(itemloder的使用)
  • Shell编程
  • 百度地图API标注+时间轴组件
  • 彻底搞懂浏览器Event-loop
  • 聊聊redis的数据结构的应用
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • NLPIR智能语义技术让大数据挖掘更简单
  • 阿里云ACE认证之理解CDN技术
  • 仓管云——企业云erp功能有哪些?
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • #APPINVENTOR学习记录
  • #Java第九次作业--输入输出流和文件操作
  • (1)(1.9) MSP (version 4.2)
  • (12)Linux 常见的三种进程状态
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (C++)八皇后问题
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (C语言)逆序输出字符串
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十一)图像的罗伯特梯度锐化
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (一) springboot详细介绍
  • (已解决)什么是vue导航守卫
  • (转)为C# Windows服务添加安装程序
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .FileZilla的使用和主动模式被动模式介绍
  • .gitignore文件忽略的内容不生效问题解决
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net core使用EPPlus设置Excel的页眉和页脚
  • .NET 命令行参数包含应用程序路径吗?