Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

Ich möchte mit Java eine chm- Datei über die F1-Taste aufrufen. Dabei soll z.B. im Frame "Einleitung" auch die Seite "Einleitung" in der chm- Datei oder im Frame "Systemarchitektur" die Seite "Systemarchitektur" in der chm-Datei geöffnet werden.

Den Aufruf der Datei und das Springen auf die richtige Seite bekommen ich über

Runtime.getRuntime().exec("C:/WINDOWS/hh.exe -mapid 2361 " + hilfeDatei);

hin.

Wenn ich nun im Frame "Einleitung" die F1-Taste drücke wird die chm- Datei auch an der richtigen Stelle geöffnet. Wechsel ich nun das Frame zu "Systemarchitektur" und drücke wieder F1 öffnet es eine neue Datei, obwohl die alte ja noch offen ist, was nicht wirklich schön ist.

Gibt es eine Möglichkeit direkt in der chm- Datei die Seiten zu wechseln, sodass ich nicht so viele Dateien öffne?

VG,

Hermann

Geschrieben

Gibt es eine Möglichkeit direkt in der chm- Datei die Seiten zu wechseln, sodass ich nicht so viele Dateien öffne?

Naja Du öffnest mit dem Exec letztendlich immer einen weiteren (Sub)Prozess. Was mir aber letztendlich absolut nicht verständlich ist: Du benutzt Java, eine plattformunabhängige Sprache, nimmst aber CHM Dateien, die nur Windows-Systeme verstehen, wobei CHM Dateien nicht anderes als zusammen gepackte HTML Dateien sind.

Ich würde Dir dazu raten, vergiss den ganzen Kram mit CHM Dateien und mache es in HTML. Du erstellt eine JAR Datei, in der Du auch die Hilfe als HTML Dateien einbindest. In Deinem Programm kannst Du entweder selbst eine HTML Komponente einbinden oder einfach die Standard-Anwendung des Systems für HTML Dateien dann entsprechend starten.

Letztendlich wäre aber eine professionelle / javakonforme Lösung https://javahelp.dev.java.net/

Geschrieben

Danke erstmal für deine Antwort,

Ich hatte auch schon an JavaHelp gedacht, aber mein Projektleiter hätte gern chm Dateien. Also hab ich es erstmal so probiert. Funktioniert ja auch soweit, nur dass ich die hh.exe halt jedesmal neu starten muss.

Naja, wenn es meinen Projektleiter stört muss er halt den Vorschlag von JavaHelp annehmen.

Geschrieben

Ich hatte auch schon an JavaHelp gedacht, aber mein Projektleiter hätte gern chm Dateien.

Aber eine *.exe ist eben keine Cross-Plattform-Anwendung, sondern eine reine Windowslösung, was bei mir auf Linux und OSX schon mal nicht laufen würde

Geschrieben

nein...das wurde nicht gefordert.

Aber ich habe meinen Projektleiter dazu überreden können doch mit JavaHelp zu arbeiten, denn die einzige Alternartive währe gewesen das bereits bestehende Hilfe-Fenster bei erneutem Drücken der F1- Taste zu schließen und dann ein neues zu öffnen. Das fand er auch nicht so toll, weil man das als User sieht.

Danke nochmal für die Antworten

vg, Hermann

Geschrieben

@Hermann85 & @dimitri: Ob es nun gefordert ist oder nicht ist doch erst einmal nicht relevant, denn Java selbst ist eine Sprache, die dafür ausgelegt ist, auf mehreren Architekturen zu laufen. Worin besteht dann der Sinn, wenn man Java einsetzt, wenn ich innerhalb des Programms wieder os-spezifische Aufrufe verwende. Wenn es hier um eine spezielle Hardware-Steuerung ginge, dann wäre das noch verständlich, aber für das Hilfe-System sicherlich nicht.

Aber ich denke die Lösung von Dir Hermann ist so die beste

Geschrieben
Wenn es hier um eine spezielle Hardware-Steuerung ginge, dann wäre das noch verständlich,

Beim Hilfesystem nicht da hast Du schon recht. Aber wir haben z.B. eine Anbindung an Word und Outlook (Serienbrief- und Terminerzeugung) in unserer Clientanwendung. Damit bist Du auf jeden Fall OS abhängig (noch viel schlimmer sogar officeabhängig und zwar versionsspezifisch...)

Dim

Geschrieben
Aber wir haben z.B. eine Anbindung an Word und Outlook (Serienbrief- und Terminerzeugung) in unserer Clientanwendung. Damit bist Du auf jeden Fall OS abhängig (noch viel schlimmer sogar officeabhängig und zwar versionsspezifisch...)

Das stimmt, ich sage ja bei so etwas oder eben Hardware kann man durchaus entsprechend eine Anbindung akzeptieren, die os-abhängig ist

@Bitte von mir: Könntest Du vielleicht dazu einen Thread schreiben, wie so etwas generell umzusetzen ist. Ich würde das dann als Thread wie zur Literatur einrichten, da diese Frage hier schon öfters kam. Danke

Geschrieben
Aber wir haben z.B. eine Anbindung an Word und Outlook (Serienbrief- und Terminerzeugung) in unserer Clientanwendung. Damit bist Du auf jeden Fall OS abhängig (noch viel schlimmer sogar officeabhängig und zwar versionsspezifisch...)

Wieso?

Interface schreiben und über eine Factory nachsehen ob nun ein WordApplication-Objekt oder ein OpenOfficeApplication-Objekt erzeugt werden muss (je nachdem, was installiert ist), dass die Factory und die einzelnen Klassendefinitionen wieder plattformspezifisch sind ist klar, stört aber nicht wirklich. :floet:

Geschrieben
Bitte von mir: Könntest Du vielleicht dazu einen Thread schreiben, wie so etwas generell umzusetzen ist.

Theoretisch schon aber ich als Datenfuzzi hab damit zum Glück nicht soviel zu tun. Die Client Schergen verwenden dazu Jacob und JDIC. Des weiteren steckt da einiges an Feinheiten drinnen, denn hin und wieder hört man die schon ein bissl fluchen. :P

Für die Scannerintegration wird JTwain verwendet.

Dim

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...