任何两种语言都不可能是完全兼容(数据、语法)的,特别是面向对象的语言。在将一种语言写的程序转换成另一种语言的时候,对于某种特性的数据类型,如果对方有相容的数据类型当然是皆大欢喜。但如果没有,就不得不考虑结合其他数据类型和一些必要的额外编程了。
像楼主所说的VB中的object类型,从“望文生义”的角度来说,最适合的Delphi数据类型应该是TObject。但这还要看你的程序具体对这个类型的应用情况而言,首先应该考虑的是原VB程序中使用到了object类型的哪些属性、方法?而TObject中是否有对应的属性和方法?如果有,是否能实现相同或类似的功能(属性的数据类型能否直接用在转换后的程序中,方法的接口、作用是否差不多)?如果这些属性和方法与VB中的不完全一样,能否通过有限的额外编程来弥补?如果额外编程弥补的工作量太大或完全不可能弥补,就应该考虑Delphi的其他数据类型了。总之,语言转换有时是一件很繁琐的工作,虽然没有算法设计和测试之忧,但数据和语法的兼容性考虑往往可能会消耗更大量的时间。就你的问题而言,你需要清楚的知道VB的object类型的各方面特性(至少要清楚你的程序中所用到的那些属性和方法的详细情况),然后在弄清楚Delphi的TObject类型的各方面情况,才能作出具体的选择。如果确认TObject不能用,可考虑它的派生类。