Auf der Page steht nur, dass SaveToStrings den Source nach TStrings speichert. :P
Embedded WB Homepage
Daher habe ich mal das Nötige rauskopiert (hoffe ich).
Delphi-Quellcode:
function TEmbeddedWB.SaveToStrings(AStrings: TStrings): HRESULT;
begin
// while ReadyState <> READYSTATE_COMPLETE do
// Forms.Application.ProcessMessages;
if Assigned(document) then
Result := SaveDocToStrings(Document, AStrings)
else Result := S_FALSE;
end;
function SaveDocToStrings(Doc: IDispatch; var AStrings: TStrings): HResult;
var
IpStream: IPersistStreamInit;
AStream: TMemoryStream;
begin
AStream := TMemoryStream.Create;
try
IpStream := doc as IPersistStreamInit;
if not Assigned(IpStream) then Result := S_FALSE else
if Succeeded(IpStream.save(TStreamadapter.Create(AStream), TRUE))
then begin
AStream.Seek(0, 0);
AStrings.LoadFromStream(AStream);
Result := S_OK;
end else Result := S_FALSE;
except
Result := S_FALSE;
end;
AStream.Free;
end;
In der oberen Funktion habe ich die beiden Codezeilen auskommentiert, da sonst SaveToStrings nie funktioniert, wenn z.B. ein JavaScript ständig den Inhalt ändert (z.B. bei einem Counter oder einer Uhr).
Ausserdem funktioniert SaveFrameToStrings auch ohne das. ;)