SPCOM的一个BUG?(200分)

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

tomjerry

Unregistered / Unconfirmed
GUEST, unregistred user!
只要有应用了TCOM的程序在运行,Windows就不能执行关机,非要把该程序关闭后才能正常关机。SPCOM的一个BUG?如何改进??
 
没遇到过此类问题.
 
没见过、
 
是你的控制没控制好,对windows的关机命令不执行所导致,好好查查你的程序
 
windows关机前是会执行closequery事件的,你在相应该的地方释放串口试试
 
应该不是我程序问题吧?!代码如下:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SPComm;

type
TForm1 = class(TForm)
Comm1: TComm;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

end.
该程序运行,执行“开始”->“关机”,Windows不能关机。
删除COMM1控件及USES中的SPCOMM,正常。为什么?
 
搞个收到“关机”详细释放你的TCOM
 
明天到公司帮你测一下吧,你的操作系统版本?补丁等信息也列出来吧
 
我用的操作系统是win2000,也发现这个问题,在关闭统前非要先把使用COMM1控件的exe程序关掉,否侧系统无法关机!我认为这是SPCOMM的一个bug,用MSCOMM就不会有这个问题
 
与操作系统没有关系,W2000与XP上均发现这个问题。
自己测试了一下,用动态生成TCOM好象能解决这个问题,就是程序中要处理Windows的关机消息。
 
测试结果: winxp+sp2 关机正常!
 
测试结果,win2000正常关机
把你的spcomm的属性贴出来看看
 
好奇怪呀?!属性基本是默认的啊。操作系统XP+SP2或W2K+SP4均有问题啊。[:(!]


object Form1: TForm1
Left = 192
Top = 107
Width = 623
Height = 287
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Comm1: TComm
CommName = 'COM2'
BaudRate = 9600
ParityCheck = False
Outx_CtsFlow = False
Outx_DsrFlow = False
DtrControl = DtrEnable
DsrSensitivity = False
TxContinueOnXoff = True
Outx_XonXoffFlow = True
Inx_XonXoffFlow = True
ReplaceWhenParityError = False
IgnoreNullChar = False
RtsControl = RtsEnable
XonLimit = 500
XoffLimit = 500
ByteSize = _8
Parity = None
StopBits = _1
XonChar = #17
XoffChar = #19
ReplacedChar = #0
ReadIntervalTimeout = 100
ReadTotalTimeoutMultiplier = 0
ReadTotalTimeoutConstant = 0
WriteTotalTimeoutMultiplier = 0
WriteTotalTimeoutConstant = 0
Left = 80
Top = 40
end
end
 
后退
顶部