无法让 FastMM4 与使用 ASProtect 保护的 Delphi 7 应用程序一起使用
我收到此错误:“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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论