case integer of 什么意思???(10分)

  • 主题发起人 主题发起人 razy
  • 开始时间 开始时间
R

razy

Unregistered / Unconfirmed
GUEST, unregistred user!
case Integer of
0: (
XPos: Smallint;
YPos: Smallint);
1: (
Pos: TSmallPoint;
Result: Longint);
 
同一空间的两个标识名:regs.AX, regs.AL, regs.AH
 
类型声明的一种,这个方法叫什么名字记不请了。
就是这种类型有0,1 两部分的两种用法,
每一个部分都是单独的无关系的。

声明变量时使用哪个部分都可以。
 
全部程序是这样的:
TWMNCHitTest = packed record
Msg: Cardinal;
Unused: Longint;
case Integer of
0: (
XPos: Smallint;
YPos: Smallint);
1: (
Pos: TSmallPoint;
Result: Longint);
end;
那么你们说的空间是指UNUSED 的空间吗?
还是另外分配的给
XPos: Smallint;
YPos: Smallint)
 
这个问题提得不错,他这样定应该是和C语言中的Union共用体的申请差不多?还请高手指点!
 
关注,请高手指点迷津
 
变体记录类型而已,学过pascal语言的应该知道。
同样一段内存用不同的类型引用而已。
在delphi的帮助里面搜索Variant parts in records可以得到详细帮助
 
跟Union道理一样,这个在TMsg中也是这样定义的,你不信对其中一个赋值,后面肯定也有值了
 
接受答案了.
 
后退
顶部