procedure TForm1.RzBitBtn1Click(Sender: TObject);
var
e : TComEvents;
ch : Byte;begin M := TComPort.Create(nil);
ch := $10;
try
M.Events := [];
M.Open;
M.Write(ch,1);
e := [ evRxChar ,evCTS ];
M.WaitForEvent(e,nil,1000);----[Error] Unit1.pas(41): Incompatible types: 'Cardinal' and 'Pointer'
//M.WaitForEvent(e,WaitInfinite); -----[Error] Unit1.pas(41): Constant expression violates subrange bounds
if evRxChar in e then
begin
ShowMessage('Receive!');
end;
finally
M.Free;
end;
var
e : TComEvents;
ch : Byte;begin M := TComPort.Create(nil);
ch := $10;
try
M.Events := [];
M.Open;
M.Write(ch,1);
e := [ evRxChar ,evCTS ];
M.WaitForEvent(e,nil,1000);----[Error] Unit1.pas(41): Incompatible types: 'Cardinal' and 'Pointer'
//M.WaitForEvent(e,WaitInfinite); -----[Error] Unit1.pas(41): Constant expression violates subrange bounds
if evRxChar in e then
begin
ShowMessage('Receive!');
end;
finally
M.Free;
end;
附加函数声明:
procedure WaitForEvent(var Events: TComEvents; StopEvent: TEvent; Timeout: Integer);
在window下,TEvent是delphi对event对象的包装。
StopEvent代表对象的地址,传0,表示不设定事件对象
关于Tcomport的应用,你应该demo吧。或者你可以参考这个http://it.inhe.net/richbbs/2006/360/3600177.htm
TEvent.Create(nil,True,False,'');
难道要手动复位?