如何把C#中声明的DLL部分的语法改为PB?
C#中如下:
[DllImport("libxl.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Unicode)]
private static extern IntPtr xlBookAddSheet(IntPtr handle, string name, IntPtr initSheet);
我在PB中这样引用的:
public function ulong addsheet(ulong hwb,string sheetname,ulong sheetid) library "libxl.dll" alias for "xlBookAddSheetA"
但运行时报异常:
Specified argument type differs from required argument type at runtime in DLL function name
"指定的参数类型与动态链接库中的函数所需要的参数类型不一致"
[DllImport("libxl.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Unicode)]
private static extern IntPtr xlBookAddSheet(IntPtr handle, string name, IntPtr initSheet);
我在PB中这样引用的:
public function ulong addsheet(ulong hwb,string sheetname,ulong sheetid) library "libxl.dll" alias for "xlBookAddSheetA"
但运行时报异常:
Specified argument type differs from required argument type at runtime in DLL function name
"指定的参数类型与动态链接库中的函数所需要的参数类型不一致"
...全文
相关推荐
PB調用外部DLL
PB調用外部DLL.doc
PB与C# DLL互调实战:COM桥接方案与避坑指南
跨语言组件调用是企业系统集成中的常见需求,不同技术栈之间的功能复用往往需要借助中间接口层来实现。COM作为一种二进制级别的接口标准,能够让非托管的PowerBuilder环境与托管的C#环境通过注册表进行方法调度,从而实现双方的无缝协作。理解COM的注册原理、类型映射、位数一致性以及运行库依赖,是解决混合开发中各种诡异问题的关键。在实际场景中,老旧的PB业务系统需要对接C#编写的硬件SDK、扫码枪事件或模型推理结果,而C#上位机也可能需要读取PB应用层的数据,这种双向调用通过dll或COM组件均可实现。文章
PB调用C++ DLL完整指南:从环境配置到实战范例
在混合架构开发中,PowerBuilder(PB)与C++的协作是解决性能瓶颈与复用底层能力的常见方案。PB擅长快速构建数据库业务界面,而C++以高效的机器码执行和丰富的底层库著称。通过外部函数声明,PB可以无缝调用原生DLL,实现高频计算、图像处理或加解密等复杂功能,同时保持前端开发的敏捷性。本文从系统集成视角,梳理了PB与C++的类型映射、extern "C"导出规范、调用约定等关键技术原理,并结合字符串、结构体等参数传递实例,演示了工程落地步骤。无论是维护老系统还是新项目选型,掌握PB与DLL的混合编
基于C#调用c++Dll结构体数组指针的问题详解
下面小编就为大家分享一篇基于C#调用c++Dll结构体数组指针的问题详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
PB调用VC创建的DLL在MIS中的设计与实现
PB调用VC创建的DLL在MIS中的设计与实现 PB调用VC创建的DLL在MIS中的设计与实现


API 调用
