Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CHM Datei einbinden (https://www.delphipraxis.net/83096-chm-datei-einbinden.html)

Sierra 27. Dez 2006 13:32


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.

pmoegenb 27. Dez 2006 13:58

Re: CHM Datei einbinden
 
Siehe http://www.helpscribble.com/delphi-bcb.html

Blackheart 27. Dez 2006 13:59

Re: CHM Datei einbinden
 
Binde die Datei als Resource in dein Programm ein.
Blackheart

Sierra 27. Dez 2006 19:42

Re: CHM Datei einbinden
 
Zitat:

Zitat von Blackheart
Binde die Datei als Resource in dein Programm ein.
Blackheart

Wie genau geht das denn?
Und wie kann ich dann auf die Datei zugreifen?

Vielen Dank.

Blackheart 27. Dez 2006 21:05

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;

Sierra 28. Dez 2006 09:08

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!

Sierra 28. Dez 2006 09:08

Re: CHM Datei einbinden
 
Die Delphi Hilfe war dabei nicht sehr hilfreich.

Blackheart 28. Dez 2006 09:17

Re: CHM Datei einbinden
 
Was funktioniert denn daran nicht, habs getestet.
Hast Du die Dateinamen entsprechend angepasst.

Robert Marquardt 28. Dez 2006 09:23

Re: CHM Datei einbinden
 
Man kann das .rc File auch einfach mit ins Projekt aufnehmen, dann wird es automatisch beim kompilieren mit verarbeitet.

Sierra 28. Dez 2006 14:15

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 11:28 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz