无法让 FastMM4 与使用 ASProtect 保护的 Delphi 7 应用程序一起使用

发布于 2024-12-06 16:23:18 字数 1032 浏览 0 评论 0原文

我收到此错误:“FastMM4 无法安装,因为内存已通过默认内存管理器分配”。我在 Delphi 7 应用程序中使用 ASProtect 和 Eurekalog(不过 Eurekalog 没有问题)。我已经根据需要将 FastMM4 作为第一个单元。

后来我发现ASProtect可以在运行应用程序之前执行DLL。

*外部用户代码*从这个版本开始,ASProtect实现了外部动态库>使用功能。如果您希望自己的代码由
执行,这可能非常有用 主应用程序启动之前进行 ASP 保护。您应该向 ASProtect 提供完整的 所选 DLL 的路径。该库将被添加到 ASProtect 代码中的保护 >步。 ASprotect 在运行时只会执行一个函数 在运行主应用程序之前。

函数声明:

德尔福: 函数 RunApplication() :布尔值;导出;

如果函数结果为 TRUE,ASProtect 将启动主应用程序,否则错误 出现消息。 警告:如果您想访问 DLL 的资源,请使用 DialogBoxIndirect 或 > CreateDialogBoxInderect 类 API。所有其他 WinAPI 函数(例如 FindResorceA、 LoadResource 等)可能无法正常工作并返回错误结果。

因此,我使用以下内容创建了一个 DLL,但这没有帮助。

快速内存库;

用途 FastMM4 在“FastMM4.pas”中, SysUtils、对话框、 类;

{$R *.res}

开始 显示消息('好的!'); 结束。

之后,我运行我的应用程序,它显示“确定”消息框,然后显示“FastMM4 无法安装,因为内存已通过默认内存管理器分配”错误。

我有什么想法可以解决这个问题吗?我可以禁用 Delphi 的默认内存管理器吗?谢谢。 :)

注意:ASProtect 不再提供论坛支持。

I'm getting this error, "FastMM4 cannot install since memory has already been allocated through the default memory manager". I'm using ASProtect and Eurekalog for my Delphi 7 application (there's no problems with Eurekalog though). I've already placed FastMM4 as the first unit as required.

Later I found out that ASProtect can execute a DLL before running the application.

*External User Code*Since this version, ASProtect implements an external dynamic library > usage feature. This might be very useful if you want you own code to be executed by
ASProtect befor main application starting. You should provide ASProtect with the full
path to the selected DLL. This library will be added to ASProtect code at the protection > step. There is only one function which will be executed by ASprotect at the run-time
before running the main application.

Function declaration:

Delphi:
function RunApplication() : Boolean; export;

If function result is TRUE, ASProtect will start main application, otherwise error
message occures.
Warning: If you want to get access to the resources of your DLL use DialogBoxIndirect or > CreateDialogBoxInderect class APIs. All other WinAPI functions (such as FindResorceA,
LoadResource, etc) might not working correctly and returns error results.

So, I created a DLL with the following but this doesn't help.

library fastmem;

uses
FastMM4 in 'FastMM4.pas',
SysUtils,dialogs,
Classes;

{$R *.res}

begin
showmessage('ok!');
end.

After that, I run my application, and it displays 'OK' messagebox before showing the "FastMM4 cannot install since memory has already been allocated through the default memory manager" error.

Any thoughts of how I can solve this problem? Can I disable Delphi's default memory manager? Thanks. :)

Note: ASProtect no longer provides forum support.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文