我收到此错误,“FastMM4 无法安装,因为内存已通过默认内存管理器分配”。我在我的 Delphi 7 应用程序中使用了 ASProtect 和 Eurekalog(不过 Eurekalog 没有问题)。我已经根据需要将 FastMM4 作为第一个单元。
后来我发现ASProtect可以在运行应用程序之前执行一个DLL。
*外部用户代码*从这个版本开始,ASProtect 实现了外部动态库 > 使用功能。
如果您希望自己的代码在主应用程序启动之前由 ASProtect执行,这可能非常有用。您应该向 ASProtect 提供所选 DLL 的完整路径。该库将在保护 > 步骤中添加到 ASProtect 代码中。在运行主应用程序之前,只有一个功能将由 ASprotect 在运行时执行。函数声明:
Delphi:函数 RunApplication() :布尔值;出口;
如果函数结果为 TRUE,ASProtect 将启动主应用程序,否则会出现错误消息。警告:如果您想访问 DLL 的资源,请使用 DialogBoxIndirect 或 > CreateDialogBoxInderect 类 API。所有其他 WinAPI 函数(如 FindResorceA、LoadResource 等)可能无法正常工作并返回错误结果。
因此,我使用以下内容创建了一个 DLL,但这无济于事。
图书馆fastmem;
在“FastMM4.pas”、SysUtils、对话框、类中使用 FastMM4;
{$R *.res}
开始显示消息('好的!');结尾。
之后,我运行我的应用程序,它在显示“FastMM4 无法安装,因为内存已通过默认内存管理器分配”错误之前显示“确定”消息框。
关于如何解决这个问题的任何想法?我可以禁用 Delphi 的默认内存管理器吗?谢谢。:)
注意:ASProtect 不再提供论坛支持。