2016-08-24 73 views
0

如何使用ComLed或标签显示启用/禁用来检查cport状态。Delphi如何检查cport状态?

我已经尝试If Cport1.Connected then 但它不满足我,状态不断告诉我连接,即使我不是。

这里有没有人有更好的解决方案?

注意:我用计时器检查端口状态。

+0

有什么看法Connected属性手段。你为什么认为这应该是错误的。 –

+0

戴维爵士,或许将其视为假可以解决问题,这将有助于比较港口状况。 我的问题是如何获得cport状态?谢谢你,先生。 –

+1

我的观点是,你肯定不知道这个财产的含义。假定图书馆按设计工作。现在您需要了解“连接”的含义以及它告诉您的内容。显然它不符合你的期望。所以让我重新使用我之前评论中的问题。你没有回答他们。你有答案吗? –

回答

1

如果我正确理解你的问题,首先你会发现,这个代码连接到设备的端口:

Procedure FindPorts(S:TStrings); 
var 
    r:TRegistry; 
    i:Integer; 
Begin 
    R:=TRegistry.Create(KEY_READ); 
    R.RootKey:=HKEY_LOCAL_MACHINE; 
    if R.OpenKey('HARDWARE\DEVICEMAP\SERIALCOMM',False) then 
    Begin 
    R.GetValueNames(S); 
    for i:=0 to S.Count-1 do 
     S[i]:=R.ReadString(S[i]); 
    End; 
    R.CloseKey; 
End; 
+0

这是场景,先生Saharghodsbin,我有两个cport/s被使用。 –

+1

@YoojsonBarcelo,好的,现在你的问题是什么? – saharghodsbin

+0

这是场景,先生Saharghodsbin,我有2个cport/s被使用。 Scale indicator1和Scale Indicator2 ..我已将它们连接到我的delphi项目。我不再需要查找端口,因为我已经使用了提供端口列表的cport对话框。我的问题是,如果我需要运行时端口连接状态,我该怎么办..谢谢先生..真正apreciate .. –