私は sourceforge.net の を使用するアプリケーションに取り組んでFastMM4います。FastMM4.pasそのため、最初の uses 句に を追加しました。アプリケーションでは、このようなの後にbatchファイルを実行する必要がありますFinalizeMemoryManager;finalizationunit FastMM4;
  initialization
        RunInitializationCode;
  finalization
        {$ifndef PatchBCBTerminate}
        FinalizeMemoryManager;
        RunTheBatFileAtTheEnd; //my code here..calling a procedure
       {$endif}
 end.
RunTheBatFileAtTheEndの私のコードは次のとおりです。
 procedure RunTheBatFileAtTheEnd;
 begin
 //some code here....
  sFilePaTh:=SysUtils.ExtractFilePath(applicaTname)+sFileNameNoextension+'_log.nam';
 ShellExecute(applcatiOnHAndle,'open', pchar(sExeName),pchar(sFilePaTh), nil, SW_SHOWNORMAL) ;
 end;
このためSysUtils,shellapiに、fastmm4 ユニットの uses 句で使用する必要があります。しかし、それらを使用すると、このメッセージが表示されます 

しかし、使用から削除SysUtils,shellapiすると機能します。まだ fastmm4 のすべての機能をインストールする必要がありますがSysUtils,shellapi、fastmm4 はインストールされていません。
私は自分のユニットを持っていますが、そのファイナライズは fastmm4 のファイナライズの前に実行されます。
誰でもこの問題を解決する方法を教えてもらえますか?
編集-1
unit FastMM4;
//...
...
implementation
 uses
   {$ifndef Linux}Windows,{$ifdef FullDebugMode}{$ifdef Delphi4or5}ShlObj,{$else}
  SHFolder,{$endif}{$endif}{$else}Libc,{$endif}FastMM4Messages,SysUtils,shellapi;
私のアプリケーション
 program memCheckTest;
   uses
      FastMM4,
EDIT-2 :
(@SertacAkyuzの回答後)、削除SysUtilsして機能しましたが、バッチファイルを実行して外部アプリケーションを開く必要がありますRunTheBatFileAtTheEnd. 理由は..FastMM4がfinalization. sExeNameファイルsFilePaTh(.nam)を実行するアプリケーションです。誰でもこれを行う方法を教えてもらえますか? なしuninstalling FastMM4。