HERIBERT a écrit :
Bonsoir. Ce code ne passe pas. Delphi 6 ne dit rien (pas d'erreur à la compilation) mais, à l'exécution, FireFox ne trouve pas le fichier cible à éditer ! Passé la journée dessus... Si vs avez une idée, je suis preneur, merci Parce que là, j'en peux plus...
procedure Editer_Page_Pointee;
var
StartupInfo: TStartupinfo;
ProcessInfo: TProcessInformation;
Retour : longbool; / Valeur bool de retour de CreateProcess()
Appel : string; / Chaîne passée en paramètre à CreateProcess()
Rep : string; / Le répertoire de travail à mentionner en paramètre à CreateProcess()
Erreur : longint;
Chn : string;
begin
Form1.Lab_Aff_Nom_Fichier_Pointe.Caption := Form1.ListBox_Pages.Items.Strings[Form1.ListBox_Pages.ItemIndex];
// Formatage chaîne Page_A_Editer
Chn := Rep_ScrapBook_Pages_Memorisees ;
Chn := Chn + '\' + Form1.ListBox_Pages.Items.Strings[Form1.ListBox_Pages.ItemIndex];
Chn := Chn + '\INDEX.HTML';
Form1.Lab_Aff_Nom_F.Caption := Chn;
Page_A_Editer := Chn;
// -------------------------------
Rep := Rep_ScrapBook_Pages_Memorisees + '\' + Form1.ListBox_Pages.Items.Strings[Form1.ListBox_Pages.ItemIndex];
ChDir(Rep);
// ------------- APPEL DE CreateProcess() ------------
FillChar(Startupinfo,Sizeof(TStartupinfo),0);
Startupinfo.cb:=Sizeof(TStartupInfo);
Appel := 'c:\Program Files\Mozilla FireFox\FireFox.EXE' + ' ' + Page_A_Editer;
Retour := CreateProcess(nil,
PChar(Appel),
nil,
nil,
false,
normal_priority_class,
nil,
PChar(Rep),Startupinfo,ProcessInfo);
// -------------------------------
if Retour <> false then // Valeur systématiquement retournée : TRUE ! Donc, ça a marché... mais FireFox ne trouve pas le fichier à éditer !!
begin
WaitforSingleObject(Processinfo.hProcess, infinite);
CloseHandle(ProcessInfo.hProcess);
end
else
begin
RaiseLastOSError;
end;
end; // procédure
|