PB调用DLL的常见问题及处理方法
来源:http://www.tudoupe.com时间:2022-05-21
公用公用电话拨打 DLL 问题和如何解决这些问题
为了简单起见, 假称有一个 DLL 文件名为测试. dll, 和一个函数名为测试 。
通用 DLL 属于第一类。
1、调用约定问题。女妖共度烈酒,通常有两通电话分别是 _cdecl 和_stdcal。以_stdcall 协议书写的文件也称为WINAPI和CARLBACK。我们的 PB 只能调用 STDCAL 指定的 DLL 。无法关闭临时文件夹“cdecl” 。

如果您引用 _cdel 协议的函数, 您将会报告上面的问题。 密钥是“ 指定的参数类型控点来自.. ” 。 内容的提供顺序不同, 参数也不同。
如果能更多地了解两种协定之间的区别,那将是令人着迷的,而这是可以自己做的事情。
2. DLL 依赖性。当测试需要依赖其他DLL时,这可能会发生,导致通话失败。

如果无法找到受抚养人 DLL通常的做法是报告这类错误。不过,这一提醒还不清楚。所以比较难查。通过集体共享,我们可以下载一个简单的工具,比如一个装货单。使用也比较简单,DLL也在同一地点。然后输入控制台的指挥线输入测试。 Doll, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally, dally观察控制台输出

如果这是一个依赖问题,错误的号码是126, 使用其他错误号码搜索 " Gettlaster 126 " 100度, 错误号码使用其他错误号码。
3. DLL路径搜索失败。这个问题经常是由于 DLL 不在应用程序当前目录中所致 。错误截图同上。"我相信我的DLL在程序目录里" 你可以说请记住, 这是当前目录 。当前目录指应用程序目录和应用程序目录。然而,程序目录在开始时是默认的 。假设你的软件在测试目录中您选择 d: 文件工作. txt, txt, txt, txt, txt, txt, txt, txt, txt, txt。这时候,d: document 是你的当前目录 。当然不在目前的目录里 我马上回来您的测试。 DLL 仍然在 d: test 中 。这就是为什么许多PB程序员有可能被忽视的原因。通常有三种解决办法:
(1) 在使用 Get OpenFile Name 和 GetSaveFile Name 等方法之前, GetCentralDirect 函数保存当前目录并在更改日志返回当前目录之前完成此目录。
(2)假设你的软件在测试目录中你可以直接设置系统的PATH环境变量指向这个目录。当然这个给实施人员带来一些小不便。
(3) 在启动应用程序时,使用系统功能。BOOL SetEnvironmentVariable (LPCTSTR lpName,LPCTSTR lpValue)将程序路径添加到进程环境变量中,以便找到 DLL。一个更明智的方法是利用pbidea 提供的设置功能。

这保证了当前目录、其子目录和放置在显示的其他目录中的 DLL 都有可能被搜索 。
在利用甲骨文数据库的同时,其客户特别是客户在连接时修改了目前的路线。
4. 错误由各种功能宣布,这些错误更加复杂,范围更广。
可以参考另一篇博客 PowerBuilder type_lxbin 2003 调用 DLL 参数, 由 PowerBuilder type_lxbin 2003 博客- CDN 博客_PowerBuilder 调用 dll ,改进对 DLL 及其功能的掌握。宣布并适当利用这一职能。
特别注意,我不知道你在说什么 但我不确定你在说什么不是"测试"系统。"我不知道你在说什么, 但我不知道你在说什么。"在这方面,“系统”一词不是任意的。仅允许遵守具体针对PB的表述方式的DLLs列入这一系统关键词。如果有兴趣在C/C++中为 PB 创建 DLL,从该组的下载可共享 。让我们来看看这个系统是如何运作的。

5. DLL 函数是按C. 商定的方式打开接口。 我们知道C的指针总是在12点的精神下给人们带来麻烦。 你不认为 PB里没有手指, 你错了。 就像一个测试函数一样。
function int test(string a1,ref string a2,long a3) library "test.dll"
此函数的 C 原型如下:
extern "C" __declspec ( dllexport ) int __stdcall test( char * a1 , char * a2 , int a3 )
如果输入类型参数不是太麻烦,如果输出类型参数是一个输出类型参数,则必须预先分配足够的内存空间。通常,PB中的空间是使用空间功能预先分配的。
String ls_a2
ls_a2 = space(10000)
这是一个有100,00个字符空间的变量; 但是, 如果它是 PB10 或以上版本, 它确实有 20,00个字符空间, 因为一个 Unicode 字符使用两个字符空间 。
如果没有预分配的内存存在,或者如果预分配的内存不足,程序可以在短期内执行,但后面的位置不明确。
6. DLL 开发器中的错误 。许多人需要某种临时职能。在VC启动后,它开始写DLL。然而,由于c/c++理解的程度,会导致一些BUG,只有当 PB 工作不正确时, 才能使用它们 。自己排查规律,如果你确定是DLL的错由DLL开发商来决定。
第二类商品类别 第二类
COMM以前是高度流行的技术,也是微软程序和操作系统约束的一个例子,然而,PB并不正式提倡使用COM式的DLLs。
目前版本的商式 DLL是历史遗迹,尽管有人试图使使用 C# DLL 用于 PB 更简便一些,而某些版本的 PB (如PB9) 支持 COM 用于其他应用。
移动 DLL,COM 移动它首先需要注册,这个比较麻烦,在Windows 7和老一代人,运行也可用于自我登记。尽管如此,视窗10和以下版本,从那时起,登记工作一直困难重重。因为登记需要管理员的进入。COM可在一两台机器上注册。如果像他这样的程序是这样医院有数百台电脑个人必须向海关总署登记。那就呵呵了。C, 特别是讨论的COM。在不同操作系统上,它可能取决于它。 它对我们不一样, 它对我们不一样, 它对我们是一样的,它对我们是一样的, 它对我们是一样的,它对我们是一样的, 它对我们是一样的,它对我们是一样的, 它对我们是一样的,它对我们是一样的, 它对我们是一样的,它对我们是一样的, 它对我们是一样的,它对我们是一样的, 它对我们是一样的,它对我们是一样的, 它对我们是一样的,它对我们是一样的, 它对我们是一样的,它还需要安装这些其他部件。
因此,通知说,邮政局应尽可能远离商经常委会的低排放升温潜能值类别。
PB自己的DLL属于第三类。
如前所述,有些私营银行可能已经写了COM。另外,PBPPB的PBL也可以转换成DLL。如果 PB 编译 DLL 库,您可以很容易地将它作为 PBL 添加到库列表中 。如果您向他人提供 PB 商务界面,这也是个程序然而,它有一个限制:它只能用于同一种版本的《暂定预算》。
欢迎加入Pbidea小组, 我们将一起调查PB创新。组号: 624409252。
(问题:781770213)
2022/5/8
相关新闻
- 2023-04-16 2台电脑怎么共享(2台电脑怎么共享
- 2023-04-16 主板检测卡代码(电脑主板检测卡代
- 2023-04-16 dnf未响应(dnf未响应老是上不去)
- 2023-04-16 ppoe(pppoe拨号上网)
- 2023-04-16 网速不稳定(网速不稳定是路由器的
- 2023-04-16 wds状态(Wds状态成功)
- 2023-04-16 光标键(光标键不动了怎么办)
- 2023-04-16 电脑提速(电脑提速100倍的方法)
- 2023-04-16 切换用户(切换用户怎么切换回来
- 2023-04-16 数据包是什么(产品数据包是什么
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
