dephi调用C语言的Dll。其中有个函数的参数C语言定义如下:
typedef struct
{
    long  station_id;
    USER_STR name;
}STATION;typedef struct
{
    uchar num;
    STATION station[0];
}STATIONS;这个不知在dephi中如何定义这个结构体。特别是STATION station[0]。

解决方案 »

  1.   

    STATION station[0]; 是指STATION 类型的一个指针吧.象PSTATION =^STATION ;
      

  2.   

    应该不是指针吧,指针只有4个字节。它是一个结构数组的首个结构体。能给个具体的Dephi定义吗?
      

  3.   

    USER_STR name; //USER_STR是什么类型
    uchar num;     //uchar又是什么类型
    你没给全信息
      

  4.   

    是数组 array of STATION
      

  5.   

    呵呵 Delphi里边可以用记录实现结构体(基本上就是一个东西)
    还有 不是指针,但是实现还是用指针吧,有的东西Delphi就不像C里边灵活
    typedef struct
    {
        uchar num;
        STATION station[0];
    }STATIONS;
    type  TStation=record
        station_id:longint;
        name:char;
      end;  StationArray=array of TStation;
      PStation=^StationArray;  TStations=record
        num:integer;
        Station:PStation
      end;有些愚笨,不过最大限度模拟C里边那种定义的,用的还是动态数组,挺麻烦的
    静态数组把array of TStation;改成array[1..100] of TStation就行了