请问vc中的union在delphi中如何声明?

vcshcn 2002-04-09 07:43:17
比如:
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
union {
DWORD Characteristics;
WORD OriginalFirstThunk;
};
DWORD TimeDateStamp;
DWORD ForwarderChain;
DWORD Name;
DWORD FirstThunk;
} IMAGE_IMPORT_DESCRIPTOR;
...全文
47 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vcshcn 2002-04-10
  • 打赏
  • 举报
回复
影射入内存的,用一个指针指向内存。
所以前后顺序不能变
vcshcn 2002-04-10
  • 打赏
  • 举报
回复
谢谢您的答复
这个结构是要影射如内存的,所以变体部分一定要在上面,结构不能变
是这样:
type
IMAGE_IMPORT_DESCRIPTOR = record

case Integer of
0:(Characteristics:DWORD);
1:(OriginalFirstThunk:WORD);
TimeDateStamp, ForwarderChain, Name, FirstThunk: DWORD;
end;
chechy 2002-04-10
  • 打赏
  • 举报
回复
Pascal的语法不允许先声明变体。不过可以变通:
type
Hello = record
case Integer of
0:(Characteristics:DWORD);
1:(OriginalFirstThunk:WORD);
end;
IMAGE_IMPORT_DESCRIPTOR = record
a: Hello;
TimeDateStamp, ForwarderChain, Name, FirstThunk: DWORD;
end;
csdnhuang 2002-04-09
  • 打赏
  • 举报
回复
有先被别人答了.
Atlantis 2002-04-09
  • 打赏
  • 举报
回复
楼上
chechy 2002-04-09
  • 打赏
  • 举报
回复
type
IMAGE_IMPORT_DESCRIPTOR = record
TimeDateStamp, ForwarderChain, Name, FirstThunk: DWORD;
case Integer of
0:(Characteristics:DWORD);
1:(OriginalFirstThunk:WORD);
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧