Autor |
Beitrag |
gdv
      
Beiträge: 16
D7 Enterp
|
Verfasst: Mi 09.02.05 08:59
Hallo,
ich muß von einem mit Delphi erstelltem Programm per Button eine JAVA-Applikation aufrufen.
Ist das überhaupt möglich?
Wenn ja, worauf muß ich achten?
Wie könnte der Lösungsansatz aussehen??
viele Grüße
Thorsten
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Mi 09.02.05 11:15
Ist die JAVA-Anwendung denn schon compiliert, also als .EXE vorhanden??
Oder ist das noch Code, den du einfach per Kommandozeile "startest"??
_________________ Steht der Bauer im Gemüse, hat er später grüne Füße.
|
|
gdv 
      
Beiträge: 16
D7 Enterp
|
Verfasst: Mi 09.02.05 11:32
Die zukünftige Java-Anwendung ist nicht als .exe kompiliert (ist das denn überhaupt möglich??)- sondern benötigt laut Hersteller immer die runtime-Umgebung -
Daher nehme ich an, den Code per Kommandozeile zu starten.
Ansonsten hätte ich eine EXE mit shellexecute aufgerufen.
Thorsten
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Mi 09.02.05 11:34
java wird nie als exe compiliert
du könntest shellexecute nehmen und dann so aufrufen:
Quelltext 1:
| javaw.exe -jar <javaanwendung>.jar |
mussu halt bei eclipse oder so als jar exportieren
|
|
gdv 
      
Beiträge: 16
D7 Enterp
|
Verfasst: Mi 09.02.05 11:39
vielen Dank für diesen Lösungsansatz
gruß Thosten
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Mi 09.02.05 11:54
uall@ogc hat folgendes geschrieben: | java wird nie als exe compiliert |
Seid ihr euch da sicher??  Ich schau mal nach. 
_________________ Steht der Bauer im Gemüse, hat er später grüne Füße.
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Mi 09.02.05 12:07
da bin ich mir 100% sicher
java ist platformunabhängig
es gibt
.jar dateien (gepackt)
.class (so wie dcu)
.java (so wie pas)
ausführbare dateien gibbet nicht das der sinn von java, damit es halt überall funzt (exe würde nur auf windows eventl linus mit wine laufen)
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Mi 09.02.05 12:12
Man kann sie doch aber trotzdem als .EXE compilieren, oder??
_________________ Steht der Bauer im Gemüse, hat er später grüne Füße.
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Mi 09.02.05 12:14
|
|
MrSaint
      
Beiträge: 1033
Erhaltene Danke: 1
WinXP Pro SP2
Delphi 6 Prof.
|
Verfasst: Mi 09.02.05 12:22
*g* man kann auch JAVA-Code zu einer EXE compilieren, sofern man nen Compiler dafür schreibt  *gg* Bei mir in der Uni hat ne Abteilung zum Beispiel das Betriebssystem "Plurix" programmiert und soweit ich weiß is das (zumindest zum Großteil) in Java geschrieben (so n bisschen Assembler werden die aber auch drin haben  *gg*, wie gesagt, kenn mich aber net genau damit aus). --> www.plurix.de
MrSaint
_________________ "people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Mi 09.02.05 12:23
in java aknnst auch kein assembler benutzen
|
|
tssev
Hält's aus hier
Beiträge: 4
|
Verfasst: Mi 09.02.05 12:24
Hi,
mit entsprechenden Tools kann man Java-Code auch als EXE kompilieren. Das ist aber meist wohl nicht sinnvoll, da die Stärke von Java in der Plattformunabhängigkeit liegt. Der Zwischencode (Bytecode) liegt in Form von .class-Dateien vor. Eine Anwendung besteht meist aus mehreren .class-Dateien. Du musst also zunächst die Datei ausfindig machen, die die main-Methode beinhaltet (also sozusagen die "Start"-Datei ist). Um nun eine Java-Anwendung aus deinem Delphi Programm zu starten, musst du nur diese Datei an den Java Interpreter übergeben. Das kannst du über den Aufruf von
java NameDerZuStartendenClassDatei
machen. Hierbei musst du beachten, dass NameDerZuStartendenClassDatei nicht die Endung .class enthalten darf! Also einfach Dateiname ohne Extension hinschreiben. Außerdem musst du auch die Groß-/Kleinschreibung beachten.
Viel Erfolg
tssev
|
|
MrSaint
      
Beiträge: 1033
Erhaltene Danke: 1
WinXP Pro SP2
Delphi 6 Prof.
|
Verfasst: Mi 09.02.05 12:27
uall@ogc hat folgendes geschrieben: | in java aknnst auch kein assembler benutzen |
Hat keiner gesagt... Theoretisch könnte ich aber trotzdem einen Compiler schreiben, der eben die gleiche Syntax von den Source-Files will, wie dies Java hat. Dann könnte ich theoretisch die Sytnax erweitern, so dass ASM unterstützt wird. Aber das hab ich eigentlich nicht gemeint. Aber du kannst definitiv einen "normalen" Compiler (also ein Compiler, der EXEs produziert) schreiben, der als Source-Files Java-Code will!
Es geht nicht datrum, ob es sowas gibt, sondern ob das möglich ist. Und das ist es definitiv!
_________________ "people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Mi 09.02.05 12:42
also:
Zitat: |
"Plurix" programmiert und soweit ich weiß is das (zumindest zum Großteil) in Java geschrieben
(so n bisschen Assembler werden die aber auch drin haben)
|
das hört sich so an als ob die beides vermischt haben...
du kannst ein betriebsystem schreiben (in assembler) das dann "java interpretiert" und alle anwendungen (oberfläche wie z.b. explorer) sind dann in java geschrieben, in java kannst aber kein assembler benutzen und noch net mal mit pointern arbeiten
Zitat: |
ich muß von einem mit Delphi erstelltem Programm per Button eine JAVA-Applikation aufrufen.
|
Zitat: |
JAVA-Code zu einer EXE compilieren, sofern man nen Compiler dafür schreibt
|
dann ist es aber keine java anwendung mehr sondern eine exe die nichts mehr mit dem ursprünglichen java code (.class bzw .java) zu tun hat sondern diesen schon "umgewandelt" hat, was aber nicht in frage für den thread ersteller kommt
das ich meinte das man java nicht als exe compilieren kann ist in sofern richtig/falsch das
1. es keinen compiler gibt
2. man sich aber einen schreiben kann
das ist geanu das selbe als wenn man sagt man kann in delphi treiber programmieren
man kanns nicht mit delphi, aber man kann in delphi ein programm schreiben was den pascal code so umwandelt das es geht (also eigenen compiler machen)
|
|
UC-Chewie
      
Beiträge: 531
WinXP
D5 Ent
|
Verfasst: Mi 09.02.05 13:20
uall@ogc hat folgendes geschrieben: |
das ich meinte das man java nicht als exe compilieren kann ist in sofern richtig/falsch das
1. es keinen compiler gibt |
Es gibt welche
Zum Beispiel den GNU Java Compiler: gcc.gnu.org/java/
_________________ Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
|
|
MrSaint
      
Beiträge: 1033
Erhaltene Danke: 1
WinXP Pro SP2
Delphi 6 Prof.
|
Verfasst: Mi 09.02.05 17:35
@uall@ogc: ich hab von der SPRACHE Java geredet, nicht von einem Java Interpreter oder einer Java Anwendung oder sonst was. Und das hat in EXE-Form genauso viel mit der Sprache zu tun, wie Delphi language was mit einem fertig compilierten Delphi-Programm zu tun hat..
Dass es jetzt schon solch einen Compiler gibt, wusst ich net, aber da sieht mans ja...
MrSaint
_________________ "people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
|
|