Hallo zusammen,
ich habe folgendes Problem: In einem String steht ein HTML-Text, wo sich ein Bild drin verbirgt. Dieser String soll dann in einem IHTMLDocument2 gespeichert werden.
Der Inhalt:
HTML-Dokument
1: 2: 3: 4: 5: 6: 7:
| <html><head><title></title> </head> <body bgcolor="#ffffff" leftmargin=10 topmargin=10 rightmargin=10 bottommargin=10> <font size=3 color="#000000" face="Times New Roman"> <p><img src="Test.jpg"></p> </font> </body></html> |
Man beachte, der Pfad zum Bild ist relativ!
Jetzt erstelle ich ein IHTMLElement und setzte den
innerHTML:
Delphi-Quelltext
1:
| Element1.innerHTML:= AHTMLCode; |
Danach ist der Pfad total vermurgst bzw. in einen absoluten umgewandelt.
Wie kann man dem Dokument beibringen, dass er die Pfade einfach unverändert lassen soll?
Das Dokument wird "klünstlich" erzeugt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| function GetHTMLDoc2FromString(const AValue: string): IHTMLDocument2; var SafeArr: PSafeArray; Variant: PVariant; Value: WideString; begin Result:= CoHTMLDocument.Create as IHTMLDocument2; Result.designMode := 'on'; while Result.readyState <> 'complete' do Application.ProcessMessages;
SafeArr:= SafeArrayCreateVector(VT_VARIANT, 0, 1); if SafeArr <> nil then begin SafeArrayAccessData(SafeArr, Pointer(Variant)); Value:= AValue; TVarData(Variant^).VType := VT_BSTR; TVarData(Variant^).VOleStr := @Value[1]; SafeArrayUnaccessData(SafeArr); Result.write(SafeArr); end; |
Viele Grüße
Littleben