Avatar billede ellebaek Nybegynder
09. maj 2003 - 00:44 Der er 9 kommentarer og
2 løsninger

Runtime.exec()

Jeg har et problem med et program jeg er igang med.
Programmet skal hvis man vælger hjælp i menuen kalde hjælp filen.

Jeg forsøger at kalde filen med denne kode:

try {
        Runtime rt = Runtime.getRuntime();
        Process proc = rt.exec("help.HLP");
        System.out.println("hej");
    }
    catch (IOException e) { e.printStackTrace(); }

Men hver eneste gang jeg prøver får jeg denne
java.io.IOException: CreateProcess: help.HLP error=0
    at java.lang.Win32Process.create(Native Method)
Og så en del flere linier, men de er ikke relevante for denne fejl..

Jeg har prøvet med en batfil også, og dette virker heller ikke. (det virker hvis jeg skriver notepad istedet for help.hlp)

Meget mærkeligt.

Hvad kan jeg gøre ved det?
Det skal siges at filen ligger i samme mappe som programmet...
Avatar billede erikjacobsen Ekspert
09. maj 2003 - 01:13 #1
Har du prøvet

Process proc = rt.exec("winhlp32 help.HLP");

? ..eller hvad windows hjælpeprogrammet hedder på din maskiner
Avatar billede disky Nybegynder
09. maj 2003 - 01:38 #2
Du skulle tage og lave dit eget hjælpe system i java, det som du gør via System.exec ødelægger platformsuafhængigheden som er en af hoved ideerne bag Java.

Så du kan bagefter ikke tilbyde dit program til en Mac bruger eller en Linux bruger.
Avatar billede viht Nybegynder
09. maj 2003 - 02:08 #3
Hvem pokker bruger også linux? :)
Prøv:
if( name.endsWith(".exe") || name.endsWith(".com") || name.endsWith(".bat") )
                Runtime.getRuntime().exec(file.getAbsolutePath());
            else
                Runtime.getRuntime().exec("cmd.exe /c " + "\"" + file.getAbsolutePath()  + "\"" );
Avatar billede viht Nybegynder
09. maj 2003 - 02:10 #4
I Windows eksekverer det filen med det program der er associeret med endelsen.
Avatar billede disky Nybegynder
09. maj 2003 - 11:24 #5
viht:
Det er der rigtigt mange der gør, også mac og andre systemmer.
At tro der kun findes windows bruger er en meget naiv og arrogant holdning at have.
Avatar billede viht Nybegynder
09. maj 2003 - 11:29 #6
disky>> For gammel diksussion til at jeg gider bruge tid på den, men min holdning er nu engang min egen.
Avatar billede disky Nybegynder
09. maj 2003 - 11:34 #7
viht:
Men den lader til at være meget snæversynet, men det skal du selvfølgelig havde lov til.
Avatar billede viht Nybegynder
09. maj 2003 - 11:38 #8
Det må du da gerne kalde den, det rør mig ikke.
Avatar billede ellebaek Nybegynder
09. maj 2003 - 17:51 #9
Jeg har snakket det igennem med min gruppe, og vi har i vores kravspecifikation skrevet at programmet skal være platformsuafhængigt.


Så derfor har vi besluttet at lave hjælpen i Java i stedet, som du foreslog Disky.
Men Erik.. Dit svar virkede, så smid et svar (jeg har set du er begyndt at samle på point igen) Så kan i dele dem...
Avatar billede erikjacobsen Ekspert
09. maj 2003 - 18:19 #10
tjah
Avatar billede erikjacobsen Ekspert
09. maj 2003 - 18:47 #11
Jeg syn's os' at man skal tilstræbe platformsuafhængighed.
Men du kan se, at du kunne kombinere ting du allerede vidste,
eller burde vide. Når notesblok kunne startes, så var det
bare at finde det relevante program.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester