![]() |
CHM Datei einbinden
Hi!
Ich habe mich zwar schon hier im Forum umgesehen, aber ich habe leider nicht genau die passende Antwort auf meine Frage gefunden. Es geht darum, eine CHM Datei in ein Delphi Programm einzubinden. Die Hilfe will ich dann über ein Menü aufrufen lassen können (also ganz klassisch). Wie realisiere ich es nun, dass ich nicht z.B. über die ShellAPI die Datei öffnen muss, sondern, dass die CHM Datei immer praktisch bei dem Programm dabei ist (also integriert). Das soll dem Zweck dienen, dass sich so die CHM Datei an einem ganz anderen Ort befinden kann (bzw. dann ja an gar keinem) und es trotzdem funktioniert. Vielen Dank. |
Re: CHM Datei einbinden
|
Re: CHM Datei einbinden
Binde die Datei als Resource in dein Programm ein.
Blackheart |
Re: CHM Datei einbinden
Zitat:
Und wie kann ich dann auf die Datei zugreifen? Vielen Dank. |
Re: CHM Datei einbinden
Zu 1.
Speichere deine chm Datei in deinem Projektordner. Dann nimmst Du Dir einen Text Editor und gibst folgendes ein ReadMe RCDATA "ReadMe.chm" Diese Datei speicherst Du ab als ReadMe.rc in deinem Projektordner. Dann suche in Borland nach der Brcc32.exe liegt meistens im Bin Verzeichnis. Kopiere die Exe und schiebe Sie in deinen Projektordner. Dann Schiebe die ReadMe.rc Datei per Drag & Drop auf die Brcc32.exe Dadurch wird eine ReadMe.res Datei erzeugt. Dann binde unten stehenden Code in dein Projekt ein. Nicht vergessen die Resource einzubinden {$S ReadMe.res}
Delphi-Quellcode:
implementation
{$R *.dfm} {$R ReadMe.res}//Nicht vergessen procedure TForm1.Button1Click(Sender: TObject); var ResStream: TResourceStream; begin ResStream := TResourceStream.Create(hInstance, 'ReadMe', RT_RCDATA); if not FileExists(ExtractFilePath(ParamStr(0)) + 'temp.chm') then ResStream.SaveToFile(ExtractFilePath(ParamStr(0)) + 'temp.chm'); if fileexists(ExtractFilePath(ParamStr(0)) + 'temp.chm') then ShellExecute(Handle, 'open', PChar(ExtractFilePath(ParamStr(0)) + 'temp.chm') , nil, nil, SW_SHOWNORMAl) else ShowMessage('Hilfedatei konnte nicht geladen werden !'); ResStream.Free; end; |
Re: CHM Datei einbinden
Vielen Dank!
Leider funktioniert das so nicht. Ich habe jetzt mal ein bisschen in den Einstellungen von Delphi rumgesucht und habe eine Option gefunden, in der man eine Hilfedatei definieren kann. Was hat es damit auf sich? Vielen Dank! |
Re: CHM Datei einbinden
Die Delphi Hilfe war dabei nicht sehr hilfreich.
|
Re: CHM Datei einbinden
Was funktioniert denn daran nicht, habs getestet.
Hast Du die Dateinamen entsprechend angepasst. |
Re: CHM Datei einbinden
Man kann das .rc File auch einfach mit ins Projekt aufnehmen, dann wird es automatisch beim kompilieren mit verarbeitet.
|
Re: CHM Datei einbinden
Wenn ich es aber wie vorgeschlagen löse, wird dann die Hilfesatei in das Programm eingebunden?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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