怎么在D6中定义如下C函数的声明?(50分)

  • 主题发起人 主题发起人 c.jack
  • 开始时间 开始时间
C

c.jack

Unregistered / Unconfirmed
GUEST, unregistred user!
typedef struct mod {
int mod_op;
char *mod_type;
union {
char **modv_strvals;
char *modv_bvals;
} mod_vals;
#define mod_values mod_vals.modv_strvals
#define mod_bvalues mod_vals.modv_bvals
} PMod;

 
我尝试作如下定义,可是出错了:
type
PMod = record
mod_op: integer;
mod_type: pchar;
mod_vals: record
case integer of
0:(modv_strvals: PPCHAR);
1:(modv_bvals: Pchar);
end;
end;
const
mod_values =mod_vals.modv_strvals;
mod_bvalues =mod_vals.modv_bvals;

做后2行报错,提示:mod_vals没有声明。
 
那2个define不用转换,delphi没有对应的语法,他只是c里面偷懒的
比如 a.mod_vals.modv_strvals 就偷懒成 a.mod_values
在delphi里面,你写全 a.mod_vals.modv_strvals 就是了
 
接受答案了.
 
后退
顶部