对于一个项目,我需要导入一个用Delphi制作的DLL并调用一些函数。但是,项目团队中没有人知道如何完成这项工作。我们公司的主管用C ++编写了一个程序来打开DLL并调用函数,但是他没有VBA的经验。
我们的项目是调用函数并将一些参数从excel工作表传递到程序(燃气轮机仿真项目)。我们的第一个问题是:如何在VBA中加载Delphi dll?我读到有关dllimport函数的信息,但我仍然不知道如何使用此函数。
例如,在dll中有一个函数:d4868activateLog Delphi中的代码如下:
function activateLog (const filename: PAnsiChar):Integer;
我们怎么称呼这个功能?
您不能从VBA调用该函数,因为它使用了register
调用约定。VBA只能导入stdcall
功能。
您可以将Delphi代码更改为:
function d4868activateLog(const filename: PAnsiChar): Integer; stdcall;
然后在VBA中,您将编写:
Private Declare Function d4868activateLog Lib "mydll.dll" (ByVal filename As String) As Long
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句