questo no AProcess.CommandLine := '"C:\Program Files (x86)\LibreOffice 3.5\program\swriter.exe"' + ' E:\Lazarus\Componenti\Abbrevia\Abbrevia 5.0\Test
Libreoffice mi avvisa E:\Lazarus\Componenti\Abbrevi non esiste , chiudo il messaggio E:\Lazarus\Componenti\Abbrevia\Abbrevia 5.0\Test\5.0\Test\DecretiPA.odt non esiste
stesso comando con - AProcess.CommandLine := '"C:\Program Files (x86)\LibreOffice 3.5\program\swriter.exe"' + ' -E:\Lazarus\Componenti\Abbrevia\Abbrevia 5.0\Test
Libreoffice mi avvisa E:\Lazarus\Componenti\Abbrevia\Abbrevia 5.0\Test\5.0\Test\DecretiPA.odt non esiste
aggiunge \5.0\Test in modo autonomo E:\Lazarus\Componenti\Abbrevia\Abbrevia 5.0\Test\5.0\Test
il path reale e' E:\Lazarus\Componenti\Abbrevia\Abbrevia 5.0\Test\
provo con altro AProcess.CommandLine := '"%ProgramFiles%\Windows NT\Accessories\wordpad.exe"';
solleva eccezione - Failed to esecute procedure TForm1.AvviaProgramma; var AProcess: TProcess; begin AProcess := TProcess.Create(nil);
non so se possa funzionare anche su linux (lo verifico).
bonmario:
Indipendentemente da ciò che lanci, è buona cosa racchiudere i nomi di files tra doppio apice
--- Codice: --- "C:\il mio file.odt" --- Termina codice --- Questo fa sì che il comando che riceve quel parametro, lo veda appunto come un unico parametro. Nell'esempio qui sopra, senza i doppi apici, il programma che lo riceve, vedrebbe 3 parametri: - C:\il - mio - file.odt
Ciao, Mario
Maverich:
vuole anche il parametro tra apici e senza spazi o altro es: