VoIPCallPrivate_t *paramVoIPCall = (VoIPCallPrivate_t *)&(pCallEvt->m_PrivData);这句翻译成delphi 怎么写?

解决方案 »

  1.   

    type
      PVoIPCallPrivate_t = ^VoIPCallPrivate_t;
    var
      paramVoIPCall: PVoIPCallPrivate_t;
    begin
      paramVoIPCall := PVoIPCallPrivate_t(@pCallEvt->m_PrivData);
      ...
    end;
     
      

  2.   

    我从后向前给你解释一下:pCallEvt->m_PrivData 
       // pCallEvt估计是个结构体,pCallEvt->m_PrivData是取这个结构体中的m_PrivData变量。&pCallEvt->m_PrivData就相当于@pCallEvt^.m_PrivData(VoIPCallPrivate_t *) // 强制转换为VoIPCallPrivate_t *类型// 定义了一个VoIPCallPrivate_t*类型的指针
    VoIPCallPrivate_t* paramVoIPCall 
    大概翻译一下:
    type
      PVoIPCallPrivate_t= ^VoIPCallPrivate_t;
      VoIPCallPrivate_t = record
        m_PrivData: XXXtype;
      end;var
      paramVoIPCall : PVoIPCallPrivate_t;
    begin
      paramVoIPCall:= PVoIPCallPrivate_t(@pCallEvt^.m_PrivData);  // ...
      

  3.   

    更正:paramVoIPCall := PVoIPCallPrivate_t(@pCallEvt.m_PrivData);