COM1接收程序问题,我的变量怎么出问题?(100分)

  • 主题发起人 主题发起人 netfun2000
  • 开始时间 开始时间
N

netfun2000

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用了mscomm控件,在OnComm事件中有如下代码:
(端口初始化完毕,并打开)
procedure TForm1.MSComm1Comm(Sender: TObject);
var
t_variant:olevariant;
t_low,t_high:integer;
begin
Memo1.Lines.Add('有数据发送过来');
if TMscomm(sender).commevent<>2 then Exit;
t_variant:=mscomm1.input;
t_low:=vararraylowbound(t_variant,1);
end;

我的问题是:在执行vararraylowbound()的时候出错,"Variant is not an array"而这段代码我是从例子里面COPY过来的,在那里能用而到了我这里却出错了。
请问各位高手,原因在哪里?如果更正?
 
使用olevariant时,如果接受赋值,则必须使用vararraylock(t_variant);
然后进行其他操作,最后使用vararrayunlock(t_variant);
You friend Xycall;
you can send email:zzhs@163.com, if you want to discuss with me!
 
问题解决了,不是上述问题,是我mscomm的属性设置错了。
 
接受答案了.
 
后退
顶部