【发布时间】:2015-04-09 11:57:38
【问题描述】:
如何从 C++ dll 返回一个字符串数组,然后该函数将被 Delphi 应用程序调用。
我试过了:
C++ DLL
#include <windows.h>
#include <vector>
#include <string>
using namespace std;
extern "C"
{
__declspec( dllexport ) void arrayStr(vector<string> s)
{
s.push_back("111");
s.push_back("222");
s.push_back("333");
}
}
德尔福
procedure arrayStr(StrMem : TStringList); cdecl; external 'arrayStr.dll';
...
var
StrMem : TStringList;
i : integer;
begin
StrMem := TStringList.Create;
arrayStr(StrMem);
for i := 0 to StrMem.Count-1 do
begin
ShowMessage(StrMem[i]);
end;
StrMem.Free;
end;
【问题讨论】: