调用Delphi DLL 注意事项

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);

}

posted @ 2023-11-10 16:35  开花石头  阅读(24)  评论(0)    收藏  举报