Je travaille sur une application dans Delphi 7
qui va exécuter et afficher le journal créé par FastMM4.pas
.Delphi 7, utilisez FastMM4 pour obtenir le chemin d'application et l'application ouverte
L'application sera installée n'importe où sur le système. Je l'ai modifié le FastMM4.pas
afin qu'il CreateProcess
(inshort exécuter ma demande) Le code de mon previous Question et Sertac Akyuz's answer
Le leakTracker.exe
prendra dans le fichier journal du fastmm4 comme paramètre et ouvrez le fichier et l'affichage. Le fastMM4.pas
modifié sera utilisé dans toute autre application.
Procedure OpenTheLeakReader
begin
CmdLine := 'C:\Program Files\leakTracker\leakTracker.exe "';
lstrcat(CmdLine,CTheArGuements);
ZeroMemory(@SInfo, SizeOf(SInfo));
SInfo.cb := SizeOf(SInfo);
CreateProcess(nil, CmdLine, nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, sInfo, pInfo);
end;
Cela fonctionne bien mais j'ai hardcoded le path
parce que pour obtenir mon chemin d'application ..
[FastMM4] -cannot use SysUtils.pas //*1
-cannot use Registry.pas //*2
-cannot use ParamStr(0) //*3
-cannot use unitWithSysRegis //*4
[someAplicationWhichWillUseFastMM4] -Uses FastMM4.pas
dans le FAstMM4.pas
finalization
i cette
if ifLeakedMemory then OpenTheLeakReader;
depuis que je ne peux pas avoir
*1 - SysUtils.pas
- à FastMM4.pass car cela désinstaller fastmmm4
*2 - Registry.pas
- pour rechercher leakTracker
chemin d'installation, mais désinstallerez fastmm4
*3 - paramstr(0)
- il donne une erreur à la fin de l'application.
*4 - unitWithSysRegis
- avec SysUtils, le registre n'est pas non plus possible dans la clause d'utilisation de Fastm4.
Donc je suis coincé comme comment obtenir le chemin de leakTracker.exe
et envoyer le chemin du fichier journal à `leakTracker.exe 'via CreateProcess.
Vous pouvez importer les [fonctions de registre] (Windows http://msdn.microsoft.com/en-us/library/windows/desktop/ms724875 .aspx) vous-même? – Blorgbeard
@Blorgbeard je n'ai pas comment faire cela .. tous les exemples? – PresleyDias
En fait, pouvez-vous utiliser l'unité 'windows'? Il a 'RegOpenKeyEx',' RegGetValueEx' etc. Sinon, vous pouvez copier les définitions à partir de là. – Blorgbeard