我已经功能(Delphi编写的7,32位):如何检查传递的参数是否是类?
Function GetVMTAddr(var C): Integer; Begin Result := Integer(C); Try PVmt(Result)^.SelfPtr := PVmt(C)^.SelfPtr; Except Result := 0; End; End;
它返回VMT地址(我认为这是VMT,我不知道),并检查是否参数是一个对象(通过try...except
,这是imho差解决方案)。
我有两个问题:
1)这是真的VMT地址还是我错了?
2)有没有更好的解决方案来检查参数是否是一个对象?
[此问题](http://stackoverflow.com/q/760513/62576)可能会有所帮助。 –
@Ken White:谢谢,我发现了这个问题,但还有第二个问题,我无法找到答案。 –
有趣的问题在“不要在家试用”类别。 –