呵呵,好像只有类才支持RTTI吧,其它类型好像不支持, 不过,Pascal是强类型语言,你的普通变量的类型在编译前就应确定了呀,要不然编译会通不过的!
如果你要支持多种类型,就用变体吧(Variant)
如果你要支持多种类型,就用变体吧(Variant)
解决方案 »
- 内存写入指针问题?WriteProcessMemory
- 100求助!!!!!100分求助!!!!!!
- 如何改更计算机的时间(通过代码来写)在线等待,请高手,指教.
- 关于如何才能让DBGrid平滑刷新的问题的讨论。。。
- 用ClientDateSet和ADODataset,为什么只能修改不能添加
- 一个很困难的问题,不知道有高手指教没有?
- 关于遍历控件的一个简单问题!八小时内在线
- 新建了一个Component,编译即出错。
- 扩展名为scm为文件是什么文件,如何打开
- 急,请大家帮帮我
- 请问各位,如何在主窗体显示出来后,前面再显示一个登陆窗体用于登陆????????????????
- 面试ERP,请高手指点!!!
varNull The variant is Null.
varSmallint 16-bit signed integer (type Smallint).
varInteger 32-bit signed integer (type Integer).
varSingle Single-precision floating-point value (type Single).
varDouble Double-precision floating-point value (type Double).
varCurrency Currency floating-point value (type Currency).
varDate Date and time value (type TDateTime).
varOleStr Reference to a dynamically allocated UNICODE string.varDispatch Reference to an Automation object (an IDispatch interface pointer).
varError Operating system error code.
varBoolean 16-bit boolean (type WordBool).
varVariant A variant.
varUnknown Reference to an unknown OLE object (an IInterface or IUnknown interface pointer).
varShortInt 8-bit signed integer (type ShortInt)
varByte A Byte
varWord unsigned 16-bit value (Word)
varLongWord unsigned 32-bit value (LongWord)
varInt64 64-bit signed integer (Int64)varStrArg COM-compatible string.
varString Reference to a dynamically allocated string (not COM compatible).
varAny A CORBA Any value.
begin
...
try
V := MyFunction(); //取得返回值
case VarType(V) of
varEmpty: // The Variant is Unassigned.
varNull: // The Variant is Null.
varSmallint: // 16-bit signed integer (type Smallint).
varInteger: // 32-bit signed integer (type Integer).
varSingle: // Single-precision floating-point value (type Single).
varDouble: // Double-precision floating-point value (type Double).
.......
except
//转换不成功,应处理此异常
end;
end;
varNull The variant is Null.
varSmallint 16-bit signed integer (type Smallint).
varInteger 32-bit signed integer (type Integer).
varSingle Single-precision floating-point value (type Single).
varDouble Double-precision floating-point value (type Double).
varCurrency Currency floating-point value (type Currency).
varDate Date and time value (type TDateTime).
varOleStr Reference to a dynamically allocated UNICODE string.varDispatch Reference to an Automation object (an IDispatch interface pointer).
varError Operating system error code.
varBoolean 16-bit boolean (type WordBool).
varVariant A variant.
varUnknown Reference to an unknown object (an IInterface or IUnknown interface pointer).
varShortInt 8-bit signed integer (type ShortInt)
varByte A Byte
varWord unsigned 16-bit value (Word)
varLongWord unsigned 32-bit value (LongWord)
varInt64 64-bit signed integer (Int64)varStrArg COM-compatible string.
varString Reference to a dynamically allocated string.
varAny A CORBA Any value.