Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   TWebBrowser (VCL): Suche funktioniert nur sporadisch (https://www.delphipraxis.net/198237-twebbrowser-vcl-suche-funktioniert-nur-sporadisch.html)

Harry Stahl 16. Okt 2018 18:05


TWebBrowser (VCL): Suche funktioniert nur sporadisch
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe ein Hilfe-System entwickelt, das (u.a.) die WebBrowser-Komponente verwendet.

Hier geht es im Moment um die VCL-Version (daneben gibt es noch eine FMX-Version für die 3 Desktop-Plattformen).

Um in einem Text unter Windows zu suchen, verwende ich die Funktion, die ich hier im Forum gefunden habe, um den Suchen-Dialog anzeigen zu lassen (https://www.delphipraxis.net/41195-w...er-suchen.html).

Leider funktioniert die Suche (also Hervorhebung des gefundenen Textes mit gelber Farbe, siehe anliegenden Screenshot) nur sporadisch. Bei einem Programmstart ja, dann wieder nicht. In der VCL-Fassung wird der HMTL-Text von einer für das jeweilige Thema temporär erzeugten Datei geladen.

Das ist die Funktion:

Delphi-Quellcode:
procedure WB_ShowFindDialog(AWebbrowser: TWebbrowser);
const
 CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
 HTMLID_FIND = 1;
 HTMLID_VIEWSOURCE = 2;
 HTMLID_OPTIONS = 3;
var
 CmdTarget : IOleCommandTarget;
 vaIn, vaOut: OleVariant;
 PtrGUID: PGUID;
begin
 New(PtrGUID);
 PtrGUID^ := CGID_WebBrowser;
 if AWebbrowser.Document <> nil then
   try
     AWebbrowser.Document.QueryInterface(IOleCommandTarget, CmdTarget);
     if CmdTarget <> nil then
       try
         CmdTarget.Exec(PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
       finally
         CmdTarget._Release;
       end;
   except
     // Nothing
   end;
 Dispose(PtrGUID);
end;
Woran kann das liegen, hat evtl. schon mal ein ähnliches Problem hier gehabt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:22 Uhr.

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