C ++指针数组移植到Delphi

时间:2018-09-08 21:51:33

标签: c++ delphi

我在将C ++代码移植到Delphi中遇到以下情况。

结构定义如下:

typedef struct tagMyType
{
    LPVOID  pData;              // allocated by the client
} MyType, FAR* LPMyType;

我正在将此结构传递给外部DLL,该DLL中填充了数据。 根据文档,我声明以下内容:

  

pData将指向空终止字符串的压缩列表

我在Delphi中声明了以下记录:

TMyType = record
  pData: POINTER;
end;
PMyType = ^TMyType;

内存分配和DLL调用成功,pData被填充。

然后C ++代码将此字段视为数组,声明了pData不能在Delphi中执行的操作。

for ( i = 0; i < 10; i++ )
    printf( "%d", ((ULONG*)stEnum.pData)[i] );

我知道C ++可以将Pointers作为数组来处理,我想知道如何在Delphi中轻松完成同样的工作。

0 个答案:

没有答案