![]() |
CHM-Hilfe meines Programms ist 'nicht erreichbar'.
Hallo,
ich öffne via
Code:
an einigen 'kritischen' Stellen die CHM-Hilfe meines C++ Programmes damit der Anwender weiß was zu tun ist. Das funktioniert, allerdings ist das Hilfefenster dann meist durch nachfolgende Error Messages blockiert (nicht erreichbar). Oftmals muß mein Programm dann auch geschlossen werden. Ist dem so, dann wird auch die Hilfe automatisch geschlossen. Wie kann ich das automatische schließen bzw. die Blockade der Hilfe verhindern? Danke für Eure Hilfe!
Application->HelpContext(<HelpId>);
Grüße! Michael P.S. Das Gegenteil von dem was ich Suche (bezüglich nicht schließen) ist in Delphi wohl so zu kodieren:
Code:
procedure TForm1.FormDestroy(Sender: TObject);
begin Application.HelpCommand(HELP_QUIT, 0); end; |
AW: CHM-Hilfe meines Programms ist 'nicht erreichbar'.
Wenn/da das Hilfe-Fenster im Prozess deiner Anwendung läuft, ist es auch weg, wenn der Prozess erschwindet.
Abhilfe bringt da nur ein externer HelpViewer, also eigenständige Anwendung. Wir nutzen eine HTML-Hilfe, die entweder in einem programminternen Fenster mit TWebBrowser oder in einem externen Browser (IE/FF/...) angezeigt werden kann. |
AW: CHM-Hilfe meines Programms ist 'nicht erreichbar'.
Danke himitsu; daß es dafür keine Möglichkeit mit meiner *.chm Datei gibt ist sehr Schade. (Mit der alten *.hlp Datei hat das ohne Probleme funktioniert.)
|
AW: CHM-Hilfe meines Programms ist 'nicht erreichbar'.
Zitat:
Und dieses Konzept wurde von MS auch viele Einfallstore für Viren und Würmer mit eingebaut. Deshalb musste MS über die Jahre hinweg immer wieder Funktionen abschalten/Einschränkungen einbauen damit Windows nicht zu schnell gekapert wurde. Durch diese Hotfixes wird auch die normale Verwendung erschwert. Mein Tipp ist auch sowas nicht mit CHM als Hilfeformat machen sondern bleiben lassen oder auf alternatves (reines HTML-)Format wechseln. |
AW: CHM-Hilfe meines Programms ist 'nicht erreichbar'.
HTML hat auch Probleme, denn Microsoft hat das Intranet standardmäßig als "unsicher" eingestuft.
HTML-Dateien im Intranet (auf einer Netzwerkfreigabe) ist im IE teilweise gesperrt, vorallem JS und teilweise CSS. An der Sicherheit des Windows (Internet Explorer) rumspielen geht bei einigen Kunden nicht so leicht. Darum haben wir dafür einen eigenen Webserver (TidHTTPServer), welcher die Hilfedateien raus gibt. (für Windows ist ein HTTP-Server lokal oder im Web als "sicherer" eingestuft) Diesen Web-Server kann man lokal im Programm haben oder aber auch auf einem anderen PC, als eigener Server, bzw. in der eigenen Serveranwendung (bei uns neben dem DataSnap). Unsere Hilfe liegt als Dateien (HTML, JS, CSS und JPG/PNG/...) in einem Unterverzeichnis des Programms und der HTTP-Server reicht bei Anfrage diese Dateien durch. |
AW: CHM-Hilfe meines Programms ist 'nicht erreichbar'.
Ich habe nun doch noch eine Lösung gefunden:
Code:
// *************************************************************************************************
// parameter 'helpFileChapter': // Do a right mouse click on the displayed CHM file and select the item 'Properties'. // Behind 'Address:' there is for example this displayed: // mk:@MSITStore:D:\Repositories\...\Help.chm::/Introduction.htm // at the end of the address it the required *.htm file information. // ************************************************************************************************* void CCommand::Exe1ShowDedicatedHelp(char helpFileChapter[200]) { char helpFilePath[MAXPATHLENGTH], commandOption[MAXPATHLENGTH * 2]; // build the help file path sprintf(helpFilePath, "%s%sHelp.chm", STARTDIR, "Help\\"); // build the 'hh.exe' command option sprintf (commandOption, " %s::/%s", helpFilePath, helpFileChapter); // call the help with a dedicated help file chapter do_spawnvp(P_NOWAIT, "hh.exe", commandOption); } |
AW: CHM-Hilfe meines Programms ist 'nicht erreichbar'.
Ich glaube eine Abfrage ob HH.exe prozess bereits läuft wäre gut, da du es ja beim beenden nicht schließen willst. (Falls dein Programm das automatisch beim starten lädt meine ich)
|
AW: CHM-Hilfe meines Programms ist 'nicht erreichbar'.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz