关于变体类型定义中case语句部分的问题。
caike 2003-10-29 01:38:00 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是一个常量吗?但它的值是怎么来的呢?