有一个用MFC写的DLL,其中有函数如下:  声明方法:
   
      RecvData(TransData_Up& recv_data);
其中:
typedef struct __TransData_Up
{
unsigned long plu_nr;         
char Art_Bez[28];
long int price;          
long int weight;             
} TransDataItem_Up;我现在要用DEPLHI使用这个DLL中地函数,请问,我该如何在DELPHI中定义
那个 typedef struct __TransData_Up??能否写具体一些,谢谢!

解决方案 »

  1.   

    type
     TransDataItem_Up=record
    plu_nr:unsigned long;//我现在机子上没有delphi,无符号长整形我忘了,呵呵,不好意思,你看看帮助就知道了         
    Art_Bez:array [0..28] of char ;
    price:integer;          
    weight:integer;   
     end;
      

  2.   

    然后
     myTransDataItem_Up:TransDataItem_Up
      

  3.   

    这种方法我使用过了,但是调用函数时报一个内存错误,
    我没有用 [0..28] of char,而是直接用了一个String
      

  4.   

    使用string,就必须要引用sharemem.pas这个单元,否则就要报错,不过更建议使用char数组或pchar
      

  5.   

    typedef struct __TransData_Up
    {
    unsigned long plu_nr;         
    char Art_Bez[28];
    long int price;          
    long int weight;             
    } TransDataItem_Up;
    //////////////////////////////////
    type 
        TransDataItem_Up = record
            plu_nr: LongWord;
            Art_Bez: array[0..27] of char;
            price: Integer;
            weight: Integer;
    end;
      

  6.   

    楼上: [0..27] of char; 
    unsigned long = DWORD = Cardinal;