如何把一个TVariant转换为另一个类的指针?(300分)

  • 主题发起人 主题发起人 DreamTiger
  • 开始时间 开始时间
D

DreamTiger

Unregistered / Unconfirmed
GUEST, unregistred user!
同样一个dll控件,在VB中调用非常简单:
Dim g_RawFile As XRaw 'Global Raw File object
在g_RawFile读入文件后:
Dim objInfo As XRawInfoRead
Set objInfo = g_RawFile.RawInfo
就可以把g_RawFile.RawInfo转换为XRawInfoRead类,用于后面的处理。
在BCB中:
TXRaw没有RawInfo属性,但是有:
VARIANT __fastcall get_RawInfo(void)
应该来说,返回的是一个TXRawInfoRead对象,问题是怎么转换呢?
在Delphi中是OldVariant。
 
强制转换啊。
XRawIfnoRead = (TXRawInfoRead)get_RawInfo();
 
编译就出错:无法把TVariant转换为TXRawInfoRead。
 
TXRawInfoRead *XRawIfnoRead = (TVariant*)g_RawFile->get_RawInfo();
 
后退
顶部