yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017
-
20 sept. 2005 à 11:17
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 2006
-
21 sept. 2005 à 11:22
Lorsque je pilote EXCEL avec DELPHI il arrive que la fermeture de excel est incomplette : excel est toujours en memoire.
avec les instruction suivantes il est possible de créer OleApplication , mais je ne peux décharger excel de la mémoire.
try
OleApplication := GetActiveOleObject('Excel.Application');
except
OleApplication := CreateOleObject('Excel.Application'); // création du lien OLE
end;
Question:
Excel étant toujours en mémoire comment détécter sa présence et l'effacer de la mémoire ?
Loulibier
Messages postés309Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention24 septembre 20082 20 sept. 2005 à 11:36
Bonjour yvessimon,
Pour être sure que tu es bien libérer excel de la mémoire, pourquoi ne pas tuer toi même le process une fois après avoir fait tous tes traitements...
Voici une fonction qui te permettra de tuer un process en lui passant son nom exemple : Excel.exe
function KillProcess(const sProcessName : string): boolean;
var Processentry32 : TProcessEntry32;
Handle : THandle;
HProc : THandle;
begin Result := False;
repeat
if CompareText(Processentry32.szExeFile,sProcessName) = 0 then begin HProc := OpenProcess(1,False,Processentry32.th32ProcessID);
TerminateProcess(HProc,ExitCode);
Result := True;
break;
end;
until not Process32Next(Handle,Processentry32);
end;
Bonne Prog,
Olivier
PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 21 sept. 2005 à 09:55
Hello,
Une petite remarque comme cela en passant c'est que si ton utilisateur
avait des fichiers excel ouvert et que ton programme lui ferme
brutalement ces fichiers je pense qu'il ne va pas très apprécié !!!!!
Bonne prog,
JMP77.
N'oubliez pas de cliquer sur réponse acceptée.
Vous n’avez pas trouvé la réponse que vous recherchez ?