Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mit F1 PDF-Datei aufrufen (https://www.delphipraxis.net/116428-mit-f1-pdf-datei-aufrufen.html)

sx2008 29. Jun 2008 15:02

Re: Mit F1 PDF-Datei aufrufen
 
Zitat:

Zitat von juergen
müsste man diesen Hotkey nicht regitrieren?

Der gezeigte Code-Schnipsel ist unschön.
Die Fehlermeldung kommt wahrscheinlich daher, dass die VCL versucht die PDF-Datei als Hilfe-Datei zu laden.
Und da PDF <> HLP gibt es die Fehlermeldung obwohl mit dem ShellExecute die PDF-Datei wahrscheinlich angezeigt wird.

Besser ist es, das Event Application.OnHelp zu benützen.
Delphi-Quellcode:
// ungetestet
function TForm1.HelpHandler(Command: Word; Data: Longint; var CallHelp: Boolean): Boolean;
begin
  Result := ShellExecute(Application.handle, 'open', PChar(Application.HelpFile), nil, nil, sw_ShowNormal) < 32;
  CallHelp := False;  // VCL sagen, dass Aufruf der Hilfedatei nicht mehr nötig ist
end;

procedure TForm1.FormCreate(..);
begin
  Application.OnHelp := HelpHandler; // Hilfe umbiegen
end;

rotfc 29. Jun 2008 15:25

Re: Mit F1 PDF-Datei aufrufen
 
Zitat:

Zitat von Sharky
Zitat:

Zitat von hsbc
... ist das in Windows alles inkludiert? ...

Frage mich jetzt nicht wie es bei Vista ist. Ich glaube aber von W98(ich glaube mit Patch) bix XP sollte es funktionieren.

Vista kann *.chm problemlos, aber *.hlp dafür nicht mehr ohne zusätzliche Erweiterung.

hsbc 29. Jun 2008 17:46

Re: Mit F1 PDF-Datei aufrufen
 
So, ich habe das jetzt mit dem HelpHandler eingebaut, funktioniert ausgezeichnet - ist sicher eine sehr saubere Lösung.

Vielen Dank nochmals an alle.

mfg
Herbert

juergen 29. Jun 2008 19:36

Re: Mit F1 PDF-Datei aufrufen
 
Hallo hsbc,

also ich bin wohl zu blöd dafür... :oops:
Wie hast du die Funktion bei dir verwendet?

Die Muhkuh 29. Jun 2008 19:38

Re: Mit F1 PDF-Datei aufrufen
 
Hallo juergen,

was klappt denn bei Dir nicht?

Hast Du die Komponente "TApplicationEvents" auf der Form und dort das Ereignis OnHelp zugewiesen und mit dem Code von sx bestückt?

juergen 29. Jun 2008 19:50

Re: Mit F1 PDF-Datei aufrufen
 
Hallo Manuel,
danke! Die erste Hürde ist überwunden.
Ich hatte das ApplicationEvent nicht auf die Form... :oops:
(hatte ich bis jetzt noch nie benutzt, bzw. auch gar nicht gewußt das es sowas gibt)

Ich weiß weiterhin leider nicht wo und wie ich die Funktion einsetzen/aufrufen soll.


(ich will jetzt nicht rumjammern, aber mein Hilfe unter VISTA 64 funktioniert auch nicht.
Für mich als Anfänger ziemlich blöd. Werde aber in den nächsten 2 Wochen wieder auf 32 Bit umsteigen/ neu installieren...)

Die Muhkuh 29. Jun 2008 19:53

Re: Mit F1 PDF-Datei aufrufen
 
Hi Jürgen,

das dürfte sowieso keine Funktion sein, da es ja ein Event ist, dass dieser Komponente zugewiesen wird.

Als erstes klickst Du bei der ApplicationEvent-Komponente im OI auf Ereignisse und dann Doppelklick auf "OnHelp". Dann kommt der Code hier rein:

Delphi-Quellcode:
Result := ShellExecute(Application.handle, 'open', PChar(Application.HelpFile), nil, nil, sw_ShowNormal) < 32;
CallHelp := False;  // VCL sagen, dass Aufruf der Hilfedatei nicht mehr nötig ist
Das war es dann schon.

[edit] Das mit dem, dass es keine Funktion sein dürfte, nehme ich zurück. Es kann auch eine Funktion sein *g* [/edit]
[edit3] Übrigens, hast Du unter Projekt -> Optionen -> Anwendung eine Hilfe-Datei hinterlegt? [/edit]

juergen 29. Jun 2008 20:20

Re: Mit F1 PDF-Datei aufrufen
 
Hallo Manuel,

manchmal ist es schon fast peinlich, aber damit hatte ich noch nie zu tun gehabt.
Vielen Dank, auch für Edit3! :zwinker: :thumb:


*So, und jetzt werden wir Europameister* :mrgreen:


Europameisterliche Grüße
Jürgen

Die Muhkuh 29. Jun 2008 20:23

Re: Mit F1 PDF-Datei aufrufen
 
Kein Problem :zwinker:

Falls es nicht ganz rund läuft, einfach F1 drücken, dann kommt Hilfe :mrgreen:

Bernhard Geyer 29. Jun 2008 20:47

Re: Mit F1 PDF-Datei aufrufen
 
Zitat:

Zitat von rotfc
Vista kann *.chm problemlos, aber *.hlp dafür nicht mehr ohne zusätzliche Erweiterung.

Solange du es nicht auf Netzwerklaufwerken ausführen willst (auch bei XP). Das geht nur noch wenn die CHM-Datei in der Registry als "Sicher" eingetragen ist.

[Off-Topic]...schland [/Off-Topic]


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 Uhr.
Seite 2 von 3     12 3      

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 by Thomas Breitkreuz