TMessage = packed record
    Msg: Cardinal;
    case Integer of
      0: (
        WParam: Longint;
        LParam: Longint;
        Result: Longint);
      1: (
        WParamLo: Word;
        WParamHi: Word;
        LParamLo: Word;
        LParamHi: Word;
        ResultLo: Word;
        ResultHi: Word);
  end;
在上面的基本消息类型中,integer是一个数据类型,使系统的关键字,放在这个地方什么意思啊?
多谢高手指点

解决方案 »

  1.   

    就是变体记录吗:
    你要么使用:
    0: (
            WParam: Longint;
            LParam: Longint;
            Result: Longint);
    要么使用:
    1: (
            WParamLo: Word;
            WParamHi: Word;
            LParamLo: Word;
            LParamHi: Word;
            ResultLo: Word;
            ResultHi: Word);
    两种不同的声明,占着一样的内存。
    明白吗。
    0和1只是一标识,来区别这两种声明。
    你也可以用True和False来区别。