我在翻译 c++ 头文件时遇到了麻烦。当我执行我的 Delphi 代码时,它返回代表“无效参数”的代码 125。我将解释到目前为止我所做的事情:
头文件(片段):
IDSEXP is_AOI(HIDS hCam, UINT nCommand, void *pParam, UINT SizeOfParam);
我的翻译:
function is_AOI(hCam: Cardinal; Command: Cardinal; Param: Pointer; ParamSize: Cardinal): integer; cdecl; external 'ueye_api.dll';
示例 C++ 代码:
IS_SIZE_2D imageSize;
imageSize.s32Width = m_nSizeX;
imageSize.s32Height = m_nSizeY;
is_AOI(m_hCam, IS_AOI_IMAGE_SET_SIZE, (void*)&imageSize, sizeof(imageSize));
我的代码:
var
size2D: TSize2D;
size2D.S32X := maxWidth;
size2D.S32Y := maxHeight;
ret := is_AOI(cam, IS_AOI_IMAGE_SET_SIZE, Pointer(@size2D), SizeOf(size2D));
C++结构:
typedef struct
{
INT s32Width;
INT s32Height;
} IS_SIZE_2D;
还有我的翻译:
TSize2D = record
S32X, S32Y: integer;
end;