如何在Delphi中使用FastMM SetOptions、GetOptions和foShowMemoryLeakReport?

问题描述 投票:0回答:1
program Project1;

uses
  FastMM4,
  Vcl.Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  // Ustaw opcje FastMM4, aby włączyć raport o wyciekach
  FastMM4.SetOptions(FastMM4.GetOptions + [foShowMemoryLeakReport]);

  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

我尝试在我的应用程序中显示泄漏,但它没有返回任何消息。 相反,我得到编译器错误:

[dcc32 Error] Project1.dpr(12): E2003 Undeclared identifier: 'SetOptions'
[dcc32 Error] Project1.dpr(12): E2003 Undeclared identifier: 'GetOptions'
[dcc32 Error] Project1.dpr(12): E2003 Undeclared identifier: 'foShowMemoryLeakReport'
delphi fastmm
1个回答
0
投票

我不知道您从哪里获得该代码,但 FastMM4(或 FastMM5)没有

GetOptions()
SetOptions()
函数,或
foShowMemoryLeakReport
标志。 所以编译器错误是正确的。

请使用

System.ReportMemoryLeaksOnShutdown
来代替。

program Project1;

uses
  Vcl.Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  ReportMemoryLeaksOnShutdown := True;

  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

FastMM 插入 RTL 的内存管理系统。 启用 RTL 的

ReportMemoryLeaksOnShutdown
标志将利用 FastMM 的泄漏报告。

© www.soinside.com 2019 - 2024. All rights reserved.