Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi THookHelpSystem aus hh_funcs.pas hat Wartezeit beim Beenden (https://www.delphipraxis.net/118319-thookhelpsystem-aus-hh_funcs-pas-hat-wartezeit-beim-beenden.html)

pertzschc 5. Aug 2008 10:05


THookHelpSystem aus hh_funcs.pas hat Wartezeit beim Beenden
 
Hallo zusammen,

ich benutze in meinem Programm die units aus dem Delphi HH Kit. Wenn man das Programm beendet, wird in MainForm.FormDestroy das Objekt mHelp (mHelp: THookHelpSystem) mittels mHelp.Free freigegeben. Dabei entsteht konstant immer eine Wartezeit von 1 Sekunde in THookHelpSystem.Destroy.

Habt Ihr das Problem auch schon beobachtet und vielleicht einen Workaround gefunden?

Danke+Gruß,
Christoph

Delphi-Quellcode:
 
procedure TMainForm.FormCreate(Sender: TObject);
begin
...
  {Hook - verwendet HH_FUNCS.pas}
  mHHelp := hh_funcs.THookHelpSystem.Create(chmFile, '', htHHAPI);
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
...
  if Assigned(mHHelp) then begin
    // Hilfe freigeben
    mHHelp.Free; // das hier dauert konstant eine Sekunde!
  end;
end;

mkinzler 5. Aug 2008 10:06

Re: THookHelpSystem aus hh_funcs.pas hat Wartezeit beim Been
 
Ist das beim Beenden des Programmes wirklich so schlimm?

pertzschc 5. Aug 2008 10:12

Re: THookHelpSystem aus hh_funcs.pas hat Wartezeit beim Been
 
In einem Tutorial wird sogar noch folgendes empfohlen:

Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  HHCloseAll; // Schließt alle Hilfe-Fenster // das dauert auch noch mal 1 Sekunde
  if Assigned(mHHelp) then
    mHHelp.Free;
end;
Damit wird HHCloseAll insgesamt 2x aufgerufen und das Beenden des Programmes wird um 2 Sekunden verzögert.
Schlimm ist das nicht, aber die Wartezeit bemerkt der Benutzer schon. Andere Programme gehen auch innerhalb einer halbe Sekunde zu und benutzen die HTMLHilfe.

Gruß,
Christoph

pertzschc 6. Aug 2008 17:39

Re: THookHelpSystem aus hh_funcs.pas hat Wartezeit beim Been
 
Hat keiner eine Idee? (*Push*)

Ich meine, es gibt doch sicher genügend Programme, wo diese Integration der HTML-Hilfe eingebunden ist. Ist dabei noch nie aufgefallen, dass es beim Beenden immer zu 1 Sekunde Verzögerung kommt?

Gruß,
Christoph

taaktaak 6. Aug 2008 18:22

Re: THookHelpSystem aus hh_funcs.pas hat Wartezeit beim Been
 
Moin, Moin.
Keine Idee, aber einen Vorschlag: Habe mal eine alternative Unit geschrieben, siehe hier. Braucht nur eingebunden werden, du kannst dann mit den "alten" Hilfeaufrufen weiterarbeiten. Habe noch nicht feststellen können, dass damit Wartezeiten bei Programmende entstehen. Wenn du magst, probiere es damit und gebe mal ein Feedback :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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