gpt4 book ai didi

c# - PowerBuilder 的 DLL 调用

转载 作者:搜寻专家 更新时间:2023-10-31 00:30:07 24 4
gpt4 key购买 nike

我是一名开发学生,现在正在写我的学士论文。几天以来,我对从 Powerbuilder Classic 12.5 调用 DLL 的问题感到绝望。

是的,有关于它的讨论,但我确实尝试了很多,但没有任何效果......我的同事也无法帮助我。

我有一个用 C++ 编程的 DLL,我想调用它。头函数是

__declspec(dllexport) bool __stdcall registerPbControl(unsigned long hctl);

在 PowerBuilder 中,我声明了一个全局外部函数:

FUNCTION boolean  registerControl (ulong hctl ) LIBRARY "C:\Users\...\GateWayFinal.dll"   ALIAS FOR "registerPbControl;ansi"

以及 Powerbuilder 中按钮的命令:

boolean lb
lb = registerControl (handle (mle_1))

当我按下按钮时,我得到这个错误:

PowerBuilder application execution error: Application Terminated. Error: Bad runtime Function reference at line ...

我做错了什么?

最佳答案

我不是 C++ 专家,但我总是将函数声明为 WINAPI。我认为这与 stdcall 不同,但我现在不记得了。

只有在传递字符串时才需要 ;ansi 部分,并且函数需要它 ansi 而不是 unicode。

不要在声明中使用完整的文件路径。

关于c# - PowerBuilder 的 DLL 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38244397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com