一个DELPHI初学者诚心求教,API函数容错问题(100分)

  • 主题发起人 主题发起人 tbx1980
  • 开始时间 开始时间
T

tbx1980

Unregistered / Unconfirmed
GUEST, unregistred user!
以下三段是我串口操作中设置串口DCB的API<br>//========================================================<br>// 1. 没有使用GetLastError(),程序进入程序块报告错误<br>//--------------------------------------------------------<br>if (not SetCommState(ComHandle,struDcb)) then<br>begin &nbsp;Msg := '设置串口错误';<br>&nbsp; Application.MessageBox(Msg,'系统提示');<br>&nbsp; Result := False;<br>&nbsp; Exit;<br>end;<br>//========================================================<br><br>//========================================================<br>// 2. 使用DWORD类型变量获取GetLastError()返回<br>// &nbsp; &nbsp;程序依旧进入程序块报错<br>//--------------------------------------------------------<br>ErrorCode: DWORD;<br>&nbsp;<br>if (not SetCommState(ComHandle,struDcb)) then<br>begin<br>&nbsp; ErrorCode := GetLastError();<br>&nbsp; Msg := '设置串口错误';<br>&nbsp; Application.MessageBox(Msg,'系统提示');<br>&nbsp; Result := False;<br>&nbsp; Exit;<br>end;<br>//========================================================<br><br>//========================================================<br>// 3. 使用String类型变量接受经过WordToStr()转换后的值,<br>// &nbsp; &nbsp;程序没有进入程序块报错,顺利通过.<br>//--------------------------------------------------------<br>ErrorCode: String;<br>&nbsp;<br>if (not SetCommState(ComHandle,struDcb)) then<br>begin<br>&nbsp; ErrorCode := WordToStr(GetLastError());<br>&nbsp; Msg := '设置串口错误';<br>&nbsp; Application.MessageBox(Msg,'系统提示');<br>&nbsp; Result := False;<br>&nbsp; Exit;<br>end;<br>//========================================================<br><br>我怎么也搞不明白为什么,请大家指点.<br>
 
把你的DCB的每一个字段显示出来看看...还有一定要注意停止位对不对, 0:1, 1:1.5 2:2<br>如果你是1位停止位,注意StopBits应该=0
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
700
import
I
I
回复
0
查看
762
import
I
I
回复
0
查看
788
import
I
后退
顶部