在网上搜索的问题,发现大部分都是Struct中包含了union 的代码转换成Delphi。
我在这里问一下,Union中包含了Struct的代码转换成Delphi会不会有不同呢?该怎么转换?
以下为示例代码:
typedef union tagRCV_MINUTE_STRUCTEx
{
struct{
time_t m_time; // UCT
float m_fPrice;
float m_fVolume;
float m_fAmount;
};
RCV_EKE_HEADEx m_head; 
}RCV_MINUTE_STRUCTEx,*PRCV_MINUTE_STRUCTEx;

解决方案 »

  1.   

    type
    tagRCV_MINUTE_STRUCTEx = record
      case Integer of
        0: ( struct: record
            m_time: longword    ;                // UCT
            m_fPrice: single    ;
            m_fVolume: single    ;
            m_fAmount: single    ;
            end;
        );
        1:(m_head: RCV_EKE_HEADEx    );
      end;
    RCV_MINUTE_STRUCTEx = tagRCV_MINUTE_STRUCTEx;
    PRCV_MINUTE_STRUCTEx = ^tagRCV_MINUTE_STRUCTEx;