<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";}
pre
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:862399235;
        mso-list-type:hybrid;
        mso-list-template-ids:683334336 1078095532 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\.\)";
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Paul,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>TWebBrowser is based on MS Internet
Explorer .. although the COM-model is pretty flexible and extendable (like user
namespaces, etc) nothing is really easy and finding the right interfaces and
how to use them is always&nbsp; tricky. I found the <a
href="http://www.bsalsa.com/product.html">http://www.bsalsa.com/product.html</a>
to be a very useful resource to learn about everything IE related (next to MSDN)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>If you just simply want to have access to the
html inside a twebbrowser then following article will do:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><a
href="http://delphi.about.com/od/internetintranet/l/aa062904a.htm">http://delphi.about.com/od/internetintranet/l/aa062904a.htm</a><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>if you need a more useful html editor (with
html table resizing, etc) then I suggest following links:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><a
href="http://groups.yahoo.com/group/KSDhtmlEdit/">http://groups.yahoo.com/group/KSDhtmlEdit/</a><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><a
href="http://www.profgrid.com/dhtmledit.html">http://www.profgrid.com/dhtmledit.html</a><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=2 color=black
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:black'>Kind
Regards<span class=grame>,</span><br>
Stefan Mueller </span></font><font size=2 color="#666699" face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:#666699'><br>
<br>
</span></font><o:p></o:p></p>

</div>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=3 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
delphi-bounces@ns3.123.co.nz [mailto:delphi-bounces@ns3.123.co.nz] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Paul A Norman<br>
<b><span style='font-weight:bold'>Sent:</span></b> Tuesday, 23 May 2006 5:11
p.m.<br>
<b><span style='font-weight:bold'>To:</span></b> NZ Borland Developers Group - <st1:place
w:st="on">Delphi</st1:place> List<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [DUG] The Programmer's
Grail? Streaming Twebbrowser ordescendantto DB Blob and back</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Many thanks Stefan,<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>I'm still interested if any one has any ideas on what to look for in
TWebBrowser that handles the rendered HTML. The browser can be put into
DesignMode, and objects dragged around the design layer. If access is available
to that layer for streaming in and out it would be a much neater solution.
(That design layer is rendered back as HTML for file saving). <br>
&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><strong><b><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>That layer is&nbsp;what I hope to get a lead in on if
possible.</span></font></b></strong><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>There are available interfaces that I have not been able yet to find
specifically &nbsp;relevant materials for e.g. .<strong><b><font
face="Times New Roman">IHTMLEditDesigner</font></b></strong><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>I'm suspecting that I may need to cast TwebBrowser back to <strong><b><font
face="Times New Roman">TOleControl</font></b></strong> and that something in
there might give me asscess to what I need,<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>[<st1:place w:st="on">Delphi</st1:place>] type <b><span
style='font-weight:bold'>TOleControl</span></b> = class (Controls.TWinControl,
IServiceProvider, ISimpleFrameSite, IPropertyNotifySink, IDispatch,
IOleInPlaceFrame, IOleInPlaceSite, IOleControlSite, IOleClientSite, IInterface<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>I'm afloat in a sea of virtual interfaces . . .<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Paul<br>
&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><span class=gmailquote><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>On 23/05/06, <b><span style='font-weight:bold'>Stefan
Mueller</span></b> &lt;<a href="mailto:muellers@orcl-toolbox.com">muellers@orcl-toolbox.com</a>&gt;
wrote:</span></font></span> <o:p></o:p></p>

<div>

<div vlink=purple link=blue>

<div>

<p><font size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:navy'>Here is a link to a namespace documentation and example
sourcecode that I used in one of my products:</span></font> <o:p></o:p></p>

<p><font size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:navy'><a href="http://www.bsalsa.com/name_space.html"
target="_blank">http://www.bsalsa.com/name_space.html</a></span></font><o:p></o:p></p>

<p><font size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:navy'>&nbsp;</span></font><o:p></o:p></p>

<p><font size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:navy'>&#8230; as for reading images out .. the easiest is actually
to scan the html file for image-tags (don't forget css-links, table
backgrounds, etc). You will need to do this anyway and replace those linktags
with your own namespace handler url. </span></font><o:p></o:p></p>

<p><font size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:navy'>&nbsp;</span></font><o:p></o:p></p>

<div>

<p style='margin-bottom:12.0pt'><font size=2 color=black face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:black'>Kind Regards,<br>
Stefan Mueller </span></font><o:p></o:p></p>

</div>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=3 width="100%" align=center>

</span></font></div>

<p><b><font size=2 face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
font-weight:bold'>From:</span></font></b><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma'> <a
href="mailto:delphi-bounces@ns3.123.co.nz" target="_blank">delphi-bounces@ns3.123.co.nz</a>
[mailto:<a href="mailto:delphi-bounces@ns3.123.co.nz" target="_blank">delphi-bounces@ns3.123.co.nz</a>]
<b><span style='font-weight:bold'>On Behalf Of </span></b>Paul A Norman<br>
<b><span style='font-weight:bold'>Sent:</span></b> Tuesday, 23 May 2006 2:46
p.m.<br>
<b><span style='font-weight:bold'>To:</span></b> NZ Borland Developers Group - <st1:place
w:st="on">Delphi</st1:place> List<br>
<b><span style='font-weight:bold'>Subject:</span></b> [DUG] The Programmer's
Grail? Streaming Twebbrowser or descendantto DB Blob and back</span></font><o:p></o:p></p>

</div>

</div>

<div><span id="q_10b5f54654ebf14b_1">

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<o:p></o:p></span></font></p>

<div>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>I am
reposting this here, as there are people with expertese who might not see it in
the other placs I have put it. <o:p></o:p></span></font></p>

</div>

<div>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>And I
suspect it opens up an area of great usefuleness beyond Twebbrowser.<br>
<br>
I have been looking (as many seem to!) into streaming the content of <br>
Twebbrowser or TembeddedWB into a data base Blob field, seems to be the <br>
grail of this kind of programming!<br>
<br>
And generally I want to be able to live re-edit the returned material<br>
in a Twebbrowser window.<br>
<br>
Wanting to retain images etc, I have looked at MHT and it seems that it <br>
is possible to use a NameSpace set up to stream them back to the<br>
<br>
browser window once in the DB, but I can find no other way than<br>
initally saving to disk to get an MHT out of a browser back to the DB <br>
blob field. I want to avoid using the disk because of the overheads. <br>
<br>
So I want to know how I might get a binary representation of the<br>
actual rendering of the HTML in Twebbrowser into a stream and into a<br>
blob and back when wanted. NOT as MHT or HTML! As already rendered<br>
content this stream would be very fast to re-process back into a <br>
Twebbrowser.<br>
<br>
It just seems that there must be something like a TCanvas in the <br>
Twebbrowser. But a pure TCanvas may not render the 'data' back into the<br>
browser as edit able material.<br>
<br>
** Is there something in how Twebbrowser renders the HTML, a 'binary <br>
layer' that can be streamed back and forward? <br>
<br>
** Something that has all the rendered elements and &lt;object&gt; &lt;img&gt;
&lt;etc<br>
..&gt; as binary available for streaming?<br>
Is component streaming an sensible avenue? <br>
<br>
<br>
<br>
i.e. TStream.WriteComponent <br>
<br>
Paul<br>
<br>
&nbsp;<o:p></o:p></span></font></p>

</div>

</div>

</div>

</div>

</span>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><br>
_______________________________________________<br>
<st1:place w:st="on">Delphi</st1:place> mailing list<br>
<a href="mailto:Delphi@ns3.123.co.nz">Delphi@ns3.123.co.nz</a><br>
<a href="http://ns3.123.co.nz/mailman/listinfo/delphi" target="_blank">http://ns3.123.co.nz/mailman/listinfo/delphi</a><br>
<br>
<o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>