ShareMem/ 与 Delphi DLL 进行字符串交换

2023-12-31

我希望快点 - 我正要深入研究一个 Delphi 5 遗留应用程序,它调用 DLL(也是用 D5 编写的),传递一个 DLL 可以根据需要修改的字符串。

我有 DLL 和应用程序的代码。粘贴在 DLL 源代码顶部的是关于使用 ShareMem 的注释,并且它需要是项目等的使用子句中的第一行。

如果我将整个事情移植到 D2007,是否有更好(或更现代)的方法让 Delphi 应用程序与 Delphi DLL 共享字符串数据? D5 ShareMem 内容是否仍然适用于 Delphi 2007 应用程序(使用 FastMM 等)?我什至还没有重新编译整个东西——只是想知道这是否会成为一个问题,是否有替代/推荐的方法来做到这一点?

FWIW,该 DLL 完全是第一方的(它仅由这个特定的应用程序使用 - 因此在 D2007 下重新编译它也不会成为问题)。


要使用 D2007 中包含的 FastMM,请使用 SimpleShareMem 作为应用程序和 DLL 项目中的第一个单元。

或者从 SourceForge 下载完整的 FastMM4,在 FastMM4Options.Inc(ShareMM、ShareMMIfLibrary、AttemptToUseSharedMM)中设置标志,并将 FastMM4 作为应用程序和 DLL 项目中的第一个单元。

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

ShareMem/ 与 Delphi DLL 进行字符串交换 的相关文章

随机推荐

  • 如何更改组合框控件中的下拉按钮?

    如何更改下拉按钮ComboBox控件 C Windows 窗体 我有一个自定义按钮 我想在ComboBox而不是默认的下拉按钮 我认为汉斯 帕桑特的解决方案就是这样 从这里 http social msdn microsoft com fo
  • 从 Android Studio 将 Libgdx 游戏导出为可执行 Jar

    好吧 我使用 Libgdx 制作了一个游戏 我打算将它作为一个 Android 应用程序 这就是我使用 Android Studio 的原因 但我想让我没有 Android 手机的朋友尝试一下 该项目已经针对桌面和 Android 设置 因
  • iOS5 中的“应用程序试图以模态方式呈现活动控制器”错误

    我遇到一个错误 导致我的应用程序仅在 iPad 上的 iOS5 下崩溃 当用户点击 uibarbuttonitem 中的项目时 将调用以下代码 void optionSelected NSString option self optionP
  • AppEngine 响应时间差异

    我正在考虑使用 AppEngine 来部署我正在开发的网络应用程序 作为我对 AppEngine 平台调查的一部分 我一直在检查简单请求的响应时间 为此 我编写了一个简单的 PING servlet SuppressWarnings ser
  • R:计算抛硬币的频率

    我正在使用 R 编程语言 我模拟了这个包含 1000 次硬币翻转的数据集 然后我计算了 2 个翻转序列 的数量 Coin lt c H T Results sample Coin 1000 replace TRUE My Data data
  • Node.js 隔离物是什么?为什么他们现在都死了?

    在0 7 0中 实验分离支持 http blog nodejs org 2012 01 16 node v0 7 0 unstable 原文如此 已推出 除了一些模糊的想法之外 我一直不理解这一点 即它们提供了类似线程的功能 但没有线程的问
  • g.i.cs 文件丢失,类不再包含 InitializeComponent 的定义

    我在业余时间开发了一个 UWP 项目 以掌握 UWP MVVM 和 Prism 该项目最初非常经典 没有使用 MVVM 和 Prism 我一直在努力将这两个纳入该项目 我一直依赖着https msdn microsoft com en us
  • 如何在ARKit中使用环境贴图?

    ARKit 2 0 添加了一个名为 AREnvironmentProbeAnchor 的新类 阅读它的说明 似乎 ARKit 可以自动收集环境纹理 立方体贴图 我相信我们现在可以创建一些反映真实环境的虚拟对象 但我仍然不清楚这是如何工作的
  • Swift 包管理器有本地缓存​​吗?

    每次我加载新包时 Xcode 都会从 Github 重新下载所有依赖项 而不是重用我已经为其他项目加载的一些依赖项 例如 我希望当我引用时 package name SwiftyJSON url https github com Swift
  • 如何查找表的当前大小(在内存中)?

    我有一个使用 engine MEMORY 指定的内存表 我可以运行什么命令来了解它当前占用了多少空间 最大尺寸怎么样 SHOW TABLE STATUS LIKE tablename G 其中 tablename 是您要检查的表的名称
  • 如何使用 python 库找到骨架图像中的循环?

    我有很多这样的骨架图像 我如何检测骨架中的循环 是否有 特殊 函数可以执行此操作 或者我应该将其实现为图表 如果只有图形选项 python图形库NetworkX可以帮助我吗 您可以利用骨架的拓扑结构 循环不会有洞 所以我们可以使用scipy
  • Keras ImageDataGenerator:随机变换

    我有兴趣通过随机图像转换来增强我的数据集 我正在使用 Keras图像数据生成器 https keras io preprocessing image imagedatagenerator 并且我在尝试申请时收到以下错误random tran
  • 俄罗斯方块棋子旋转算法

    表示和旋转俄罗斯方块游戏棋子的最佳算法 和解释 是什么 我总是发现片段轮换和表示方案令人困惑 大多数俄罗斯方块游戏似乎在每次旋转时都使用天真的 重新制作块数组 http www codeplex com Project ProjectDir
  • 使用 WPF 更改与窗口大小相关的字体大小?

    是否有可能 如果缩小窗口 FontSize 会变小 如果放大窗口 FontSize 会变大 将您的文本包裹在Viewbox
  • 视图内变量的范围是什么?

    如果我在 ASP NET MVC 视图中有如下代码 然后在页面下方 我在另一个代码渲染块中创建另一个脚本 我可以重复使用吗admin变量 它会记住页面上层的状态 还是范围就在 blocks 以下是我注意到的有关 MVC 范围的内容 内容控件
  • 如何测试 angularjs 指令来监视函数调用?

    下面的代码执行但抱怨 element popover 没有被调用 我似乎无法弄清楚问题是什么 提前感谢您的帮助 指示 angular module directives directive popOver function http ret
  • DCOM 出了什么问题?

    人们似乎对 DCOM 有很多敌意 我很想知道为什么 对于仍在使用 C 编写 Win32 SKD 的公司来说 是否有真正的理由在当前或未来的开发中不使用 DCOM 未来的某些 Windows 版本是否将不支持它 是否太脆弱 经常无法工作 与其
  • 关闭 iPhone 键盘

    我正在尝试重新创建类似于 safari 中使用的弹出键盘的东西 我可以通过在视图和相应按钮上放置一个工具栏来直观地重现它 但是一旦用户触摸完成按钮 我就无法找到任何方法来关闭键盘 您需要记住几件事 开发人员忘记设置的第一个部分是delega
  • 在 Objective-C 中使用枚举作为外部文件中的参数?

    我在文件 foo h 中有一个名为 RandomEnum 的枚举 foo h typedef enum RandomEnum ran 1 0 ran 2 RandomEnum 在另一个文件 bar h 中 我尝试使用 RandomEnum
  • ShareMem/ 与 Delphi DLL 进行字符串交换

    我希望快点 我正要深入研究一个 Delphi 5 遗留应用程序 它调用 DLL 也是用 D5 编写的 传递一个 DLL 可以根据需要修改的字符串 我有 DLL 和应用程序的代码 粘贴在 DLL 源代码顶部的是关于使用 ShareMem 的注