gpt4 book ai didi

delphi - 当我们不知道参数时如何调用过程或函数?

转载 作者:行者123 更新时间:2023-12-03 15:04:17 26 4
gpt4 key购买 nike

我的应用程序必须提供从外部 DLL 调用不同函数和过程的能力。所以我们不知道参数的数量及其类型。我应该怎么做才能做到这一点?

让我再解释一下。我的应用程序是一个 RAD 工具,它有自己的脚本和语法...我想让用户使用 ANY dll 文件并调用他们想要的任何函数或过程。我无法使用调用 dll 的简单方法(LoadLibrary,然后 GetProcAddress),因为我不知道 GetProcAddress 引用的类型( var Proc:procedure (A:??;B:??;...) )。

最佳答案

我的 ZGameEditor 项目的脚本功能中有一个 Delphi 实现,请在下面的文件中搜索“TExpExternalFuncCall.Execute”:

http://code.google.com/p/zgameeditor/source/browse/trunk/ZExpressions.pas

已在 Windows(x86 和 x64)、Linux、Android (ARM) 和 OS X (x86) 下测试和工作。处理 stdcall 和 cdecl 调用约定。

但是 libFFI 可能比我的实现更通用,所以我推荐这种方法。

关于delphi - 当我们不知道参数时如何调用过程或函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5357958/

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