请教大家关于OleVariant变量的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 95588
  • 开始时间 开始时间
9

95588

Unregistered / Unconfirmed
GUEST, unregistred user!
type<br> &nbsp;IShellWindows = interface(IDispatch)<br> &nbsp; &nbsp;['{85CB6900-4D95-11CF-960C-0080C7F4EE85}']<br> &nbsp; &nbsp;function Get_Count : Integer; safecall;<br> &nbsp; &nbsp;function Item(index : OleVariant) : IDispatch; safecall;<br> &nbsp; &nbsp;property Count : Integer read Get_Count;<br> &nbsp;end;<br>这里的OleVariant变量能否用其他变量代替? 我发现声明一个这种类型的变量,软件的体积就会增加64K,现在我的程序对体积要求又非常苛刻,请大家帮忙。
 
type<br> &nbsp;IShellWindows = interface(IDispatch)<br> &nbsp; &nbsp;['{85CB6900-4D95-11CF-960C-0080C7F4EE85}']<br> &nbsp; &nbsp;function Get_Count : Integer; safecall;<br> &nbsp; &nbsp;function Item(index : OleVariant) : IDispatch; safecall;<br> &nbsp; &nbsp;property Count : Integer read Get_Count;<br> &nbsp;end;<br>这里的OleVariant变量能否用其他变量代替? 我发现声明一个这种类型的变量,软件的体积就会增加64K,现在我的程序对体积要求又非常苛刻,请大家帮忙。
 
你眼花了,这代码里哪有OleVariant
 
对不起!我被问题搞迷糊了,现在我改好了,大家帮忙。
 
大家帮忙吧! 我等了好多天了。对于我来说确实很难,我估计我自己来解决这个问题的话,不是要3个月就是要一年。大家不帮忙,我就惨了。呵呵!
 
你这是在接口里面定义的,一般是不允许改的,如果改的话那么所有实现了这个接口的类都要改,代价算起来是大大滴不划算.
 
做木马呢把?一看就知道。<br>用KOL吧,纯汇编的Pascal,可以替代VCL,大多数功能全实现了。
 
接受答案了
 
为什么用 OleVariant?<br>1、用过 ADOQuery1 访问数据库吧,例如要查询一个叫“字段1”的字段,你可以这样写:<br>ADOQuery1.Fields['字段1'].Value<br>也可以这样写:<br>ADOQuery1.Fields[0].Value<br>就是因为它有型如 Item[index : OleVariant] 的声明,才使它能够接收各种类型的参数。<br>2、特别是在 Ole 中,既可以用名称也可以用索引号来访问对象的现象更是常见。
 
后退
顶部