小问题100分:实际就是怎样传递psafearray给COM的问题,用VB写的COM对象的接口函数为时间数组时即 Itime() as Date,在DELPHI

  • 主题发起人 主题发起人 bluebrids
  • 开始时间 开始时间
B

bluebrids

Unregistered / Unconfirmed
GUEST, unregistred user!
小问题100分:实际就是怎样传递psafearray给COM的问题,用VB写的COM对象的接口函数为时间数组时即 Itime() as Date,在DELPHI里用什么样的数据类型对应?有代码示例,详见内 (100分)<br />顺提:这个函数在DELPHI中被解析成如下接口:
SetTimes(computerid:integer:Itime:psafearray)


哈哈,一个小问题,弄得我很烦,知道的大侠来拿分了:

一个VB写的COM组件,有一个接口函数如下,
Bool SetTimes(computerid as integer,Itime() as Date)

它在VB中是这样用的:
Example:
Dim Addr as integer
Dim Returns as Boolean
Dim Itime() as date
Itime(1)=cdate(#09:30#):itime(2)=cdate(#10:30#):Iteme(3)=cdate(#11:30#)
Returns=Object.setclock(addr,itime)

但是我在DELPHI中却不知道该对什么数据类型调用这个函数啊,
我做了如下尝试不行:

vtime:olevariant;
vt :array of ttime;
t1:ttime;
begin
t1:=DateTimePicker1.Time;
vtime:=vararraycreate([1,3], varVariant);
for i:=1 to 3 do
vtime:=t1+i;

if myobj.settimes(01,vtime) then//失败,说类型不匹配
showmessage('true');




 
兄弟看好了:
procedure TForm1.Button1Click(Sender: TObject);
var
t:TTime;
k:Cardinal;
begin
SetTimer(Handle,k,k,@t)
end;
 
楼上这位兄弟,你写得我没看懂啊?请说明白些,让我试试如果行了好给你分啊
 
啊,兄弟!我想弄清楚你准备完成什么事情?(包括你自己定义的函数功能)
 
我就是想往这个函数里传递参数啊?可DELPHI老是报类型错、或其它错
 
你那函数完成件什么事情?
 
后退
顶部