| Autor |
Beitrag |
anno
      
Beiträge: 20
|
Verfasst: Sa 04.10.08 14:51
hallo zusammen.
ich habe versucht folgendes batchscript in Delphi umzuschreiben.
allerdings funktioniert der aufruf nicht richtig.
Quelltext 1: 2:
| start ..\OpenOfficePortable\App\Java\bin\javaw -Dfile.encoding=UTF-8 -jar bin\wiki.in.a.jar 3003 start http://localhost:3003/wiki |
Delphi-Quelltext 1: 2: 3:
| ShellExecute(Handle, 'open', 'Java\bin\javaw -Dfile.encoding=UTF-8 -jar bin\wiki.in.a.jar 3003', nil, nil, SW_SHOWMINIMIZED);
ShellExecute(Handle, 'open', 'http://localhost:3003/wiki', nil, nil, SW_SHOWMINIMIZED); |
Bei diesem Aufruf wird zwar irgednwas gemacht, allerdings wird der java server nicht gestartet.
gruß anno
|
|
LexXis
      
Beiträge: 170
Erhaltene Danke: 3
|
Verfasst: Sa 04.10.08 15:06
Guck dir mal die offizielle Doku zu ShellExecute an!
Delphi-Quelltext 1:
| ShellExecute(Handle, PChar('open'), PChar('Java\bin\javaw'), PChar('-Dfile.encoding=UTF-8 -jar bin\wiki.in.a.jar 3003'), nil, SW_SHOWMINIMIZED); |
Wichtig ist, die Parameter nicht als String, sondern als PChar zu übergeben und die Parameter die das gestartet Programm erwartet müssen separat übergeben werden!
BTW: Zu ShellExecute gibt es genügend Threads, die das schon erklärt haben 
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 04.10.08 15:38
Außerdem fehlt die Pfadangabe, wenn es so funktioniert, dann nur mit Glück.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Sa 04.10.08 15:38
LexXis hat folgendes geschrieben : | | Wichtig ist, die Parameter nicht als String, sondern als PChar zu übergeben |
IMHO ist das bei String-Konstanten nicht notwendig. Die werden automatisch als PChar übergeben.
LexXis hat folgendes geschrieben : | | die Parameter die das gestartet Programm erwartet müssen separat übergeben werden! |
Das ist wohl eher der Fehler.
|
|
LexXis
      
Beiträge: 170
Erhaltene Danke: 3
|
Verfasst: Sa 04.10.08 15:40
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 04.10.08 15:43
Ja, werden sie, deshalb gibt es ja auch keine Fehlermeldung an der Stelle, ein Typecast ist nur dann nötig, wenn du eine Stringvariable benutzt oder deine konstanten Zeichenketten mit einer verkettest. Denn dann ist das Ergebnis wirklich ein String und damit der falsche Typ.
Eine konstante Zeichenkette im Code hat ja keinen speziellen Typ wie String oder PChar und wird daher automatisch entsprechend des benötigten Typs interpretiert.
|
|
|