Modificándolo un poco valdría tanto para la versión 6 como para la 10Seattle (y no es necesario añadir ninguna cabecera manualmente)
Solo es válido para una aplicación VCL evidentemente, no para una FMX.
Código:
void gethtmlCode(TCppWebBrowser* wb, TStrings* lines)
{
IPersistStreamInit* psi;
if (wb->Document && SUCCEEDED(wb->Document->QueryInterface<IPersistStreamInit>(&psi)))
{
TStringStream *ss = new TStringStream(String(""));
_di_IStream sa(*new TStreamAdapter(ss, soReference));
try {
if (SUCCEEDED(psi->Save(sa, true)))
lines->Add(ss->DataString);
}
__finally {
delete ss;
psi->Release();
}
}
}