如何将带有union的C结构转换为Delphi

时间:2014-10-08 20:49:13

标签: c delphi struct

我很感激将下一个C-structure转换为Delphi的任何帮助

struct MATRIX
{
   union
   {
       struct
       {
        float _11, _12, _13, _14;
        float _21, _22, _23, _24;
        float _31, _32, _33, _34;
        float _41, _42, _43, _44;
       };
       float m[4][4];
   };
};

我已经阅读了Rudy关于转换http://rvelthuis.de/articles/articles-convert.html的文章,但仍然无法弄清楚如何处理联盟中的匿名结构..

感谢您提供任何帮助或建议。

1 个答案:

答案 0 :(得分:4)

使用variant record

type
  Matrix = record
    case boolean of
    false: (_11,_12,_13,_14,
            _21,_22,_23,_24,
            _31,_32,_33,_34,
            _41,_42,_43,_44: Single);
    true: (m: array[0..3,0..3] of Single);
  end;