Hallo Frank.
Zitat von
Mavarik:
Sorry, aber das war es leider nicht...
Das war eine Fingerübung von mir - ich brauche schließlich sauberen Code um darauf aufzubauen. Insbesondere wollte ich deine Komponente eliminieren, damit ich diese nicht unnötigerweise auf meiner Maschine installieren muss.
Zitat von
Mavarik:
Es ging darum, das der QueryService NUR aufgerufen wird, wenn diese EmbeddedWebBrowser komponente verwendet wird.
Das ist nicht verwunderlich. Wenn du EWB nicht verwenden willst, dann musst du eine eigene Komponente von TWebBrowser ableiten, welche die Schnittstelle IServiceProvider implementiert. Oder du verzichtest auf die Komponente TWebBrowser und hostest direkt MSHTML - zu aufwendig finde ich.
Zitat von
Mavarik:
Diese Komponente nutzt übrigens auch die MSHTML_TLB und Du hast die Indirekt auch verwendet, den MSHTML ist das gleiche - nur von Borland und veraltet.
Ich weiß genau was ich tue - meistens. Unter MSHTML_TLB verstehe ich eine beliebige mit TLIBIMP erzeugte
Unit, im Gegensatz zur Original-
Unit MSHTML von Borland. Ich verwende eine (nicht deine) bei mir installierte EWB-Komponente und diese verwendet die original MSHTML
Unit.
Zitat von
Mavarik:
Es ging mir darum die Paintsite implementierung zu erhalten um das Grid zu zeichnen...
Eines nach dem anderen. Ich hatte ja schon erwähnt, dass ich diese Schnittstellen noch nicht verwendet habe, also habe ich auch keinen fertigen Code für dich - den muss ich erst noch schreiben.
Zitat von
Mavarik:
Vielleicht kannst Du ja nochmal schauen, warum QueryService in einem "normalen" Form nicht funktioniert, bzw. ein PaintSite.Invalidate eine Catrastrophic failure liefert...
Nochmal mit anderen Worten: deine normale Form ist kein Host für das WebBrowser Control. Eine Host-Object-Beziehung erzeugst du z.B. wenn du mit TOleContainer arbeitest.
Freundliche Grüße
marabu