B
bobiy
Unregistered / Unconfirmed
GUEST, unregistred user!
var<br> lpdcb :Tdcb;<br> timeout :Tcommtimeouts;<br> sa :SECURITY_ATTRIBUTES;//win2000下加的<br>begin<br> hcom:=createfile(comname,generic_read or generic_write,0,@sa,open_existing,<br> file_flag_overlapped,0);<br><br> if hcom<>invalid_handle_value then<br> begin<br> setupcomm(hcom,4096,4096);<br> getcommstate(hcom,lpdcb);<br> lpdcb.baudrate:=9600;<br> lpdcb.bytesize:=8;<br> lpdcb.parity:=noparity;<br> setcommstate(hcom,lpdcb);<br> result:=true;<br> end<br> else<br> begin<br> messagedlg('串口打开错误',mterror,[mbyes],0);<br> result:=false;<br> exit;<br> end;<br><br> timeout.readintervaltimeout:=10;<br> timeout.readtotaltimeoutmultiplier:=20;<br> timeout.readtotaltimeoutconstant:=30;<br> setcommtimeouts(hcom,timeout);<br><br>在win98下程序可以通过,在2000下根据winsdk的说明加入了sa :SECURITY_ATTRIBUTES;<br>结果 hcom=invalid_handle_value 出错了!如果把sa改为PSecurityAttributes出错<br>提示为访问地址出错。<br><br>不知道各位有什么好的建议。谢谢大家了。<br><br>