gpt4 book ai didi

delphi - 了解共享内存

转载 作者:行者123 更新时间:2023-12-02 08:30:32 27 4
gpt4 key购买 nike

大家晚上好!

我目前正在使用 Firemonkey/FMX 设计具有各种功能的桌面界面。这些功能之一是能够在“面板”内显示信息。这个“面板”由 title 组成。和context (都是 tlabel ),以及 image (timage)。为每个希望与我的应用程序交互的“应用程序”创建一个面板。每个面板在创建时都会使用调用创建过程时分配的变量进行命名,其目的是让其他开发人员轻松访问他们的面板,但存在被利用的风险,因此我可能会切换到 bindingname .

我已经编写了基于变量创建这些面板之一的代码,以及基于嵌套迭代 .children 向下类型转换到标签和图像级别的代码。和FindComponent循环,我可以使用此方法自由更改标签或图像的文本(使用 .loadfromfile )(即代码有效)。但是,由于我想向其他应用程序和开发人员开放此功能,以便在这些“面板”之一中实际显示信息,因此我需要使用共享内存。

问题是我真的无法理解。我读过的所有内容都表明使用 SharedMem 很容易,但我根本无法理解它。即使 XE2 包含的示例中的简单示例也让我感到困惑。不幸的是,尽管我多次尝试去掌握 IPC,但我根本不懂 IPC。我可以使用 inifile,但我不认为它们具有所需的灵 active 。我考虑过GlobalAtomTable ,但与 SharedMem 一样,我也不明白这一点,更不用说据报道它在 Delphi 中泄漏了。

本质上,我正在寻找一个函数/过程,我首先在其中创建共享内存区域。然后我真的在寻找一个函数来从该共享内存读取字符串并输出 result供我通过其他程序或功能访问。由于我想让我的其他项目与这个项目兼容,我还希望获得一个过程/函数来从单独的应用程序将值写入共享内存。

正如我所说,我不了解 IPC 或 SharedMem,我确实需要一个基本的起点,从中我可以工作和自学,直到更高级的水平。非常感谢有关我希望学习的内容的分步演练。我想学习这一点,而不仅仅是获得一堆代码,因为我现在应该使用 IPC。

最佳答案

看看Cromis IMC or IPC components

IMC用于使用 tcp (indy) 的机器间通信和 IPC用于使用 Windows 命名管道进行进程间通信。

两者都使用相同的客户端/服务器消息系统(基于数据包),因此您不必仔细研究 Windows 文档来实现您的应用程序。

只需按照上面链接中的示例操作,您的应用程序就会立即运行。顺便说一句,作者Iztok Kacin是 SO 成员。

关于delphi - 了解共享内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10196943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com