C语言中定义:
     struct TVarData
     {
         union
         {
            smallint VSmallint;
            char Vstring;
            ...
          };
      };
在C语言中可以直接这样使用:
        TVarData.VSmallint
        TVarData.VString;
但如果在delphi中定义:
    type
     TVarData=pack record
        case Integer of
             varSmallint: (VSmallint:Smallint);
             varString: (VString:PWideString);
             ...
     end;
也可以直接使用
      TVarData.vstring;
      TVarData.vsmallint;
吗?另外,什么时候是使用TVardata.vstring,什么时候是使用TVarData.vsmallint?是根据integer的值吗?integer值是怎么得来的呢?有时integer也为byte或其他的类型,这里integer是一个常量吗?但它的值是怎么来的呢?