问题标签 [tcomport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - Cant seem to recive a reply vir com port
Im trying to send a command to a dev. board and then receive a reply
E.G
(me) set attrib=yes
(Dev. Board) O.K
or
(Dev. Board) E.R.R
But it doesn't bounce back anything ... not an O.K or an E.R.R
while the board is booting echo is on .. so if I send the commands while the board is booting it it will bounce back an 'set attrib=yes' and once booted an 'E.R.R' because you cant send commands while booting.
my best guess is that it isn't reading the reply in time or trying to read it too soon.
multithreading - TComPort inside a Thread
How can i use TComport, from inside a thread (e.g OTL or Jedi Thread) to catch incoming strings? What the "SyncMethod" of TComport actually does? This is my code:
The above question can be implemented via TurboPower Async Pro with better resaults?
Thanks in advance.
P.S. It is a must to read incoming strings from a ComPort using a background worker.
vb.net - 地磅数据输出格式
我正在使用 vb.net 2008 为我的客户开发一个地磅软件。由于我没有要测试的地磅设备,我不知道地磅设备发送到 COM 端口的输出数据格式。所以请告诉我如何解决问题并从 COM 端口获取重量值。
windows - 带有 UAC/uiAccess 的 DELPHI/TComport 仅无法通过 TComPort2010 读取/写入设备
我有一个使用 TComport2010 执行 USB/COM 通信的 Delphi 桌面应用程序。此应用程序从 USB 设备读取坐标 X、Y 并在 Windows 桌面模拟鼠标上戳。一切正常,除了尝试移动 OSK 的窗口(在屏幕键盘上)时,此问题已通过以管理员权限或uiAccess = true
在清单上运行的应用程序得到解决,请参阅此处的讨论:OSK 访问问题
以及上面帖子中建议的解决方案,我可以在 OSK 上戳鼠标事件。但是,当使用以下清单运行应用程序时,TComport2010 无法在 comport 上写入,该清单只有 request uiAccess = true
,没有超级用户权限。
该应用程序是使用建议的清单编译的,已签名并在程序文件目录上运行,但是,在这种情况下,comport 失败,无法写入...如果我以管理员身份运行上下文菜单运行应用程序,那么一切正常,OSK 戳和 com 端口读/写。该应用程序需要某种权限才能访问 COM 设备?或者可能与 TComport 的注册表访问有关?完整清单在这里:
好吧,问题是为什么 TcomPort 不能与 manifest using only 一起使用uiAccess = true
,如下所示:
我运行应用程序签名并在程序文件文件夹中。
失败的delhpi代码是对comport上的writestr的调用,当使用asinvoker和uiaccess = true运行应用程序时,这会失败,当以管理员权限运行时,如果我将没有清单和任何权限的应用程序放在同一个文件夹上,它就可以工作com 工作也有效。相关的delphi代码如下:
com 组件不会增加设备发送的任何消息,我确定设备每 30 秒发送一个 msg,但 onrxchar 事件永远不会上升,调用 write 函数但不确定 msg 是否真的发送到设备。一般来说,当使用 asinvoker 和 uiaccess=true 运行时,windows 似乎会阻止设备和 delphi 组件之间的通信。如果我以管理员权限运行,则相同的代码可以完美运行。
我把tcomport的代码放在pastebin上,因为这里有大小限制,代码链接是:
在将一些日志消息写入备忘录字段后,当从外部 USB 设备接收一些数据时,我会跟踪 TComport 事件的正常循环。
这是正常读取/接收数据操作的周期:(以管理员身份运行)
这是我在 Windows 的同一程序文件文件夹中仅使用 uiAccess=true 和 asInvoker 级别运行应用程序时的循环:
日志在 ReadStr 上停止,似乎是 thread.execute freeze 或其他什么,可能是由于未知原因,APP 没有从 windows 接收到 usb 事件。
delphi - Delphi Com 端口应用程序
我有一个条形码扫描仪设备,我正在尝试使用 Delphi 7 编写应用程序。我使用了 Dejan 的 ComPort 组件,我可以成功连接设备。我还可以从设备读取字符串,并能够在 STX/ETX 之间发送消息。但我有一个问题。我使用 Comport 的 RxChar 事件从设备读取字符串,并能够使用我创建的按钮发送命令。
问题是; 如何了解是否从条形码扫描仪收到数据?我无法处理它。请你帮助我好吗?我通过谷歌检查了一些例子,有些人说使用异步方法,但我不知道该怎么做。
delphi - 将 0x1b 0x31 之类的十六进制发送到 delphi 中的 com 端口
我需要使用 Delphi 将十六进制数据像命令一样发送到我的串口。
十六进制数据,如“0x1b 0x31”。
我可以使用什么程序?
writestring()
还是writebuffer()
?如何使用它们?
c# - 从客户端、Web 应用程序、C#、.NET、Razor、MVC4 起从 com 端口读取数据
美好的一天,我使用razor、mvc4和c#创建了一个Web应用程序,发生的情况是我需要通过计算机上的COM端口读取一些数据,在服务器上运行流畅,缺点是我需要读取通过 com 获取的数据,但来自您打开应用程序的每台 PC,不一定来自服务器,这可能吗?,非常感谢。
windows - Windows 10:打开虚拟串行端口时出现ERROR_NOT_FOUND,即使它存在?
我们的 Delphi Win32 应用程序已成功将蓝牙设备(使用 Windows 蓝牙 API)与计算机配对并使用生成的串行端口。安装Windows 10后,配对产生的虚拟串口无法打开。我们的应用程序可以看到新的 com 端口,但是当它尝试打开它时,会出现错误 1168 (ERROR_NOT_FOUND)。
我可以看到在 Windows 中也创建了 com 端口(与我尝试连接的同一设备序列号相关联)。com 端口与我的应用程序试图打开的端口相同。
尝试退出我的应用程序并使用受信任的终端程序(以保证端口可用)。它也无法打开端口。
这让我想知道 Windows 10 是否在蓝牙无线电方面做了一些新的、积极的节能措施。
将笔记本电脑从 Win 7 升级到 Win 10;同样的结果。那是两台电脑升级到Win10都出现同样的问题。
使用 Visual Studio 2013 制作了一个 C# 应用程序;同样的结果。
任何想法为什么我在尝试打开端口时会收到错误 1168?
谢谢!