我认为char **
意味着ppansiChar
,但我不知道如何使用它以及目的。我有这个功能
char **MagickGetImageProfiles(MagickWand *,const char *,size_t *),
我这样翻译:
function MagickGetImageProfiles(wand: PMagickWand; const pattern: pAnsiChar; const number_profiles: pSize_t): ppAnsiChar;
它的工作,但是我不知道现在该怎么做结果为ppansiChar :(为什么不简单的pansiChar?所以也许我错了将它用作ppansichar?通常MagickGetImageProfiles必须返回一个数组或者像这样的想法因为在number_profiles中,它返回返回的配置文件数
答案 0 :(得分:4)
它是指向字符串数组的指针。我个人宣布这样的功能:
android:drawableRight="@drawable/arrow_down_float"
这样称呼:
function MagickGetImageProfiles(
wand: PMagickWand;
pattern: pAnsiChar;
out number_profiles: size_t
): ppAnsiChar; cdecl;
您可以同样设置var
i: Integer;
number_profiles: size_t;
profiles, p: ppAnsiChar;
...
profiles := MagickGetImageProfiles(wand, pattern, number_profiles);
// error checking goes here, as described by API documentation
p := profiles;
for i := 0 to number_profiles-1 do begin
Writeln(p^);
Inc(p);
end;
MagickRelinquishMemory(profiles);
并将其写为:
{$POINTERMATH ON}