要将下面的c代码转换成delphi语言
typedef union {
CALL_EVENT_EX call_event;
AGENT_ACTIVITY_EVENT agent_activity_event;
REQUEST_EVENT request_event;
} ALL_EVENTS_UNION_EX, *PALL_EVENTS_UNION_EX;我是这么转换的不知道对不对
  ALL_EVENTS_UNION_EX = record
    call_event            : CALL_EVENT_EX;
    agent_activity_event  : AGENT_ACTIVITY_EVENT;
    request_event         : REQUEST_EVENT;
  end;上面delphi语言中的CALL_EVENT_EX,AGENT_ACTIVITY_EVENT,REQUEST_EVENT再声明成相应的记录(record)类型。还想问一下c语言中的union要转换成delphi语言是要声明成记录的记录这种形式吗?

解决方案 »

  1.   

    union是共用体(潭浩强先生翻译的),Delphi与之对应的是可变记录。
    ALL_EVENTS_UNION_EX = record
      case Integer of
        0: (call_event            : CALL_EVENT_EX);
        1: (agent_activity_event  : AGENT_ACTIVITY_EVENT);
        2: (request_event         : REQUEST_EVENT);
    end;
      

  2.   

    谢谢 chinasdp(),我先试试。
      

  3.   

    我学basic的时候就是潭浩强老师的书