以下是一段C++的DLL调用代码如何转化成DELPHItypedef struct AD_ITEM_FLAG
{
  ..  //系列元素
}AD_ITEM;long __stdcall get_ADItem(long ADType,long ADScene,AD_ITEM** pItem) //动态库函数//代码
int tret;
AD_ITEM *pADItem = NULL; 
pADItem = new AD_ITEM; //创建一个AD_ITEM对象,用于接收广告的属性信息
if (pADItem == NULL)
{
return;
}
memset(pADItem,0x0,sizeof(AD_ITEM));
tret = get_ADItem(1,1,&pADItem);怎么把上面的几句代码转换成Delphi?

解决方案 »

  1.   

    type 
      AD_ITEM_FLAG = record  ..  //系列元素 
      end;
      AD_ITEM = AD_ITEM_FLAG; 
      PAD_ITEM = ^AD_ITEM;//long __stdcall get_ADItem(long ADType,long ADScene,AD_ITEM** pItem) //动态库函数 
    function get_ADItem(ADType, ADScene: LongInt;var pItem: PAD_ITEM): LongInt;stdcall;//代码 
    var
      tret: Integer;
    //int tret; 
      pADItem: PAD_ITEM;
    //AD_ITEM *pADItem = NULL; 
      
    //pADItem = new AD_ITEM; //创建一个AD_ITEM对象,用于接收广告的属性信息 
    begin
      pADItem := Nil;//可以不需要
      new(pADItem);
    if (pADItem = NULL) then Exit;//memset(pADItem,0x0,sizeof(AD_ITEM)); 
    fillchar(pADItem^, sizeof(AD_ITEM), 0);
    //tret = get_ADItem(1,1,&pADItem); 
      tret := Get_ADItem(1,1,pADItem);
      

  2.   

    type  
      AD_ITEM_FLAG= record
        ..  //系列元素 
      end;PAD_ITEM_FLAG = ^AD_ITEM_FLAG;function get_ADItem(ADType: Integer; ADScene: Integer; PAD_ITEM_FLAG: ^pItem) //动态库函数 
    tret: Integer; 
    pADItem :PAD_ITEM_FLAG;.................