INDY 10 TCP 服务器 - 与非线程安全 VCL 代码结合

2023-12-11

VCL 不是线程安全的。因此我想在 INDY 10 TCP 中向 gui 写入信息不是一个好主意server.execute(...)功能 。

如何将信息从服务器执行发送到VCL?

我需要修改一个 TBitmap 里面tcpserver.execute功能。如何使该线程安全?


从 Indy 向 VCL 线程写入内容的方式与从其他任何地方向 VCL 线程写入内容的方式相同。常见选项包括TThread.Synchronize and TThread.Queue.

修改独立的TBitmap不应该要求与主线程同步。您可以从任何您想要的线程修改它,只要您一次只从一个线程进行修改即可。您可以使用标准同步对象(例如临界区和事件)来确保一次只有一个线程使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

INDY 10 TCP 服务器 - 与非线程安全 VCL 代码结合 的相关文章

  • Delphi 拼写检查器

    您好 我正在寻找一个与 Delphi 7 2010 一起使用的免费拼写检查器 任何人都可以给我一个指向吗 我想添加我们在 SynProject 编辑器中使用的 HunSpell 库 它包含在该 GPL 工具的源代码中 http synops
  • 如何远程获取系统的网络共享和连接?

    我正在寻找一种远程获取类似于以下控制台应用程序的信息的方法 net use 净份额 网络统计 ano 但是 我需要能够在系统上运行第三方应用程序的情况下执行此操作 这有效地排除了使用 psexec 远程执行命令 因为 psexec 将作为服
  • Delphi 远程调试器冻结

    我有运行 Delphi 2007 应用程序的 Windows Server 2008 R2 计算机 Update 当前无法切换 Delphi 版本 我有 Delphi XE 但在进行任何切换之前需要检查超过 300 000 行代码 我遇到了
  • Delphi预定义环境变量

    谁能告诉我在哪里可以找到 RAD Studio 中可用的 伪 环境变量列表 例如 Platform Config 等 具体来说 我想要一个能够为我提供 RTL 版本的版本 以便我可以将编译单元 dcu 放入正确的目录中 即 XE为D15 X
  • Inno Setup 无法导入 DLL

    我没有运气将 Delphi DLL 导入 Inno Setup Unicode 该DLL有一个简单的过程 procedure Foo stdcall begin end exports Foo 该 DLL 包含在安装程序源中 并添加到文件列
  • Delphi是否存在无锁队列“多个生产者-单个消费者”?

    我发现了几个针对单个生产者 单个消费者的实现 但没有找到多个生产者 单个消费者的实现 Delphi是否存在 多个生产者 单个消费者 的无锁队列 无锁队列全线程库 http otl 17slon com支持多个生产者 您可以将它与线程库分开使
  • 有没有办法获取正在运行或新打开的资源管理器窗口的 IExplorerBrowser 接口以供后续 BrowseToXXX 调用?

    这么问是因为在上一个问题 https stackoverflow com questions 6220899 answer 6221898我是指向 IExplorerBrowser 的指针 但是它创建了一个子窗口 而我想模拟资源管理器的 查
  • Windows EventLog:它的操作速度有多快?

    我有一个服务应用程序 它通过 TCP 处理客户端请求并将任何事件写入 Windows EventLog 由于该应用程序预计会在短时间内为许多客户端和每个客户端的大量请求提供服务 假设每秒 1 到 50 个请求 因此我很想知道密集程度 CPU
  • 构建多线程 TCP/IP 服务器

    我想构建一个可供最多 100 个并发客户端使用的 TCP IP 服务器 但仍不确定如何开始 至少我需要服务器 监听客户端 并将它们全部存储在数组或列表中 对于每个客户端 它需要根据其客户端状态接收和发送数据 当有人连接或断开连接时 服务器应
  • 我可以访问 TBits 内部位图吗?

    In particular i want to preset desired size fetch a bitmap from external source and then work with data in classy object
  • 德尔福:idHttp+SSL

    请解释一下如何使用 SSL https 从服务器下载文件 我在互联网上没有找到合适的答案 每个人都说 TIdSSLIOHandlerSocket 但我只有 TIdSSLIOHandlerSocketOpenSSL 如果我使用 TIdSSLI
  • Delphi LZMA减压样本

    我发现在this https stackoverflow com questions 4344976 lzma or 7zip in delphi的线程链接delphi压缩包 https github com ccy delphi zip具
  • 为什么Delphi打开时间越长编译速度就越慢,我该怎么办?

    我的公司十多年来一直在德尔福上运行一个大型项目 我们的代码库多年来一直在增长 目前代码数量约为 400 万行 编译速度正在成为一个问题 我们花了时间清除单元循环引用 编译缓慢的已知原因 并检查了设置的各个方面 已经到了我们无法通过我们所能控
  • TControlState.csDesignerHide 与 TControlStyle.csNoDesignVisible

    VCL 似乎提供了两种向表单设计者隐藏控件的机制 TControlState csDesignerHide and TControlStyle csNoDesignVisible 就 IDE 而言 它们之间有什么区别 什么时候应该使用哪个
  • 在主表单之前显示登录表单

    我在表单之间导航时遇到问题 我使用 Delphi XE5 创建了一个 Android Firemonkey 移动应用程序 我目前有一个登录表单和主表单 现在我想要有关如何处理登录表单以显示在主表单之前的建议 在 项目选项 中的表单下 选择要
  • 如何正确实现TBitmap的扫描线访问?

    我正在尝试根据以下方式访问位图的扫描线关于内河码头的文章 http edn embarcadero com article 29173 使用像这样的扫描线 for y 0 to n do begin line bitmap scanline
  • iOS Objective-C 对象:何时使用release,何时不使用它

    我在 iOS 下 正在使用 delphi Tokyo 进行开发 这是我的代码 aUIImage TUIImage Wrap TUIImage alloc initWithCGImage aCGImageRef try aData TNSDa
  • 如何在 TList 中存储动态数组?

    我需要存储未知数量的组 每个组都有未知数量的元素 项目 这是我的 小组 TGroup array of Integer lt dynamic array as you can see 我想使用 TList 来保存我的组 我的想法是 我可能想
  • FreeMM 与 ShareMem

    我们有很多用 delphi 和 c builder 编写的 dll 库 并使用 sharemem 和 borlndmm dll 3d party 库中的对齐问题迫使我们转向 delphi 2007 中的新内存管理器 有人可以帮我解释一下 共
  • 如何使用用户输入来寻址 Pascal 中的特定变量(Eval/Exec?)

    我正在尝试在分形程序中做一些非常具体的事情隆起7X http apophysis 7x org 使用的脚本语言是Pascal 该项目是用德尔福写的 https svn code sf net p apophysis7x svn trunk

随机推荐

  • get set 对于简单变量有什么好处[重复]

    这个问题在这里已经有答案了 可能的重复 公共字段与自动属性 我认为这个问题会在某个地方得到解答 但我在通常的地方找不到它 我想知道这样做有什么好处 private int foo public int foo get return foo
  • 不同的 Spring 注解 XML 声明

    似乎有多个 XML 标签告诉 Spring 使用注释
  • HTML5 使用 src 使用原始二进制数据

    假设我正在数据库中存储一个音频文件 稍后我想在我的应用程序中使用该 BLOB 或二进制文件
  • 如何访问 pybluez 中的蓝牙低级功能?

    是否有用于较低级别 bt 功能的 pybluez 包装函数 我在文档中找不到任何内容 我需要使用与以下功能等效的功能 l2ping single ping hcitool cc hcitool rssi hcitool lq hcitool
  • 不同窗口中两个文本框之间的数据绑定

    我创建了一个程序 在选中或取消选中复选框时更改文本框中的名称 我想在不同的窗口中复制这个文本框 我认为在 xaml 中使用数据挖掘是可能的 但名称仅出现在一个窗口中 第二个窗口窗口不接收数据 我向您展示了两个窗口的代码 你能帮助我吗 谢谢
  • IE 中的上标下划线

    由于时间有限 我的发言会很简短 所以如果没有我希望的那么详细 我深表歉意 我有一些代码 print a href Some text a
  • 从类路径目录获取资源列表

    我正在寻找一种方法来从给定的类路径目录中获取所有资源名称的列表 类似于方法List
  • Bootstrap 4 popper 未定义

    我正在尝试启动下拉菜单 每当我单击按钮时 我就会得到TypeError popper is undefined 我尝试导入捆绑包而不是bootstrap import bootstrap import bootstrap dist js b
  • 本地主机上的画架 JS 安全限制

    我正在学习 EaselJS 但遇到了这个奇怪的错误 无法从画布获取图像数据 因为画布已被跨源数据污染 easeljs 0 6 0 min js 71 未捕获 发生错误 这很可能是由于使用本地或跨域图像读取画布像素数据的安全限制 问题是 我的
  • 基于 ggplot 中百分位的颜色代码点

    我有一些非常大的文件 其中包含基因组位置 位置 和相应的群体遗传统计数据 值 我已成功绘制这些值 并希望对前 5 蓝色 和 1 红色 值进行颜色编码 我想知道在 R 中是否有一种简单的方法可以做到这一点 我已经尝试编写一个定义分位数的函数
  • PostgreSQL 上的透视行

    我有一个返回整行的查询 我需要将此结果转换到一个新表中 SELECT id no stud name group no class 1 class 2 class 3 class 4 FROM tbl stud class 这将返回以下内容
  • 通过 C# 中的反射获取“基本”数据类型,而不是奇怪的可空数据类型

    我的基本需求是从 LINQ to SQL 查询生成的匿名类型中获取数据类型 我有一段代码 比我能写的更聪明 因为我还没有真正深入研究反射 它从匿名类型返回数据类型 并且非常适合 linq2sql 属性中标记为 不可为空 的元素 因此 如果我
  • Spring Rest - 生成 Json 数据的异常[重复]

    这个问题在这里已经有答案了 我有一个值对象 我想通过 json Rest 调用公开它 我的项目中有许多其他的休息调用都工作得很好 但这个 1 由于某种原因不能 当我尝试返回该对象时 我收到一个我不知道如何解决的异常 值对象代码如下 减去访问
  • 如何将父 div 放置在其子 div 之上?

    我有一个容器 div 它有background color red 这个容器大约有 12 个孩子 最后一个孩子有background color blue 我试图将容器移到孩子的顶部background color blue 我为容器使用了
  • 如何在nodejs aws-sdk模块中设置多个aws凭证?

    我需要对 s3 SNS 等不同服务使用多个 AWS 凭证 var awsS3 require aws sdk var awsSes require aws sdk awsS3 config update region config awsR
  • 如何将 mysql 转储文件导入 Docker mysql 容器

    提前致以问候和感谢 我实际上是 docker 和 docker compose 的新手 迄今为止观看了大量视频并阅读了很多文章并进行了尝试 我有一个前端容器和一个后端容器 它们作为 Dockerfile 和 docker compose 设
  • 在 tableHeaderView 中使用自动布局

    我有一个UIView包含多行的子类UILabel 该视图使用自动布局 我想将此视图设置为tableHeaderView of a UITableView not节标题 该标题的高度将取决于标签的文本 而标签的文本又取决于设备的宽度 自动布局
  • Java 字节码签名

    作为我正在开发的编程语言的编译器的一部分 我在字节码中遇到了通用签名 我正在尝试将其解析并转换为 AST 解析算法大部分都有效 但似乎有一种特殊情况 其中这些签名的格式表现得有点奇怪 以下是其中一些案例 java util Arrays p
  • Spring MVC:即使存在所需的参数,文件上传也会出现错误请求(缺少参数)

    我有一个文件上传控制器 其方法如下所示 RequestMapping value upload method RequestMethod POST produces application json public ResponseBody
  • INDY 10 TCP 服务器 - 与非线程安全 VCL 代码结合

    VCL 不是线程安全的 因此我想在 INDY 10 TCP 中向 gui 写入信息不是一个好主意server execute 功能 如何将信息从服务器执行发送到VCL 我需要修改一个 TBitmap 里面tcpserver execute功