调用Delphi DLL 注意事项

发布时间 2023-11-10 16:39:11作者: 开花石头

1. 使用统一的调用约束(__stdcall)

2. array of  调用

delphi 接口:

procedure ProcessArray(const Arr: array of Integer); stdcall;

 

VC:

typedef void(__stdcall *ProcessArrayFunc)(const int*, int);

ProcessArrayFunc processArray = (ProcessArrayFunc)GetProcAddress(hLib, "ProcessArray");

if (processArray) {

   int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]);

  processArray(arr, size);

}