![]() |
Problem mit API-Funktion in Kombination mit tWebbrowser
Hi an alle,
im tWebbrowser kann man über das DOM mit Hilfe von MS-API-Funktionen gut auf die einzelnen Objekte einer HTML-Seite zugreifen. Leider habe ich bei der folgenden Anweisung Probleme, die alle Stylesheets der Seite durchgehen, und später dann teilweise ersetzen soll:
Delphi-Quellcode:
In der Zeile "Sheet := StyleSheets.item(Testvar) As IHtmlStyleSheet;" erhalte ich dann immer nur die Fehlermeldung:
procedure GetStyleSheets;
var testcol: IHtmlStyleSheetsCollection; Sheet: IHtmlStyleSheet; Testvar: Olevariant; begin StyleSheets := IHtmlDocument2(Browser.Document).styleSheets As IHtmlStyleSheetsCollection; For i:=0 To StyleSheets.length-1 Do Begin Testvar := i; Sheet := StyleSheets.item(Testvar) As IHtmlStyleSheet; Showmessage (Sheet.href); End; end; [Fehler] Main_u.pas(630): Inkompatible Typen: 'OleVariant' und 'IHTMLStyleSheet' oder auch "Operator kann auf Operanden nicht angewendet werden". Wahrscheinlich mache ich hier irgendwelche Fehler mit der API, komme aber leider nicht drauf, was ich falsch mache. Kann mir da vielleicht irgend jemand helfen??? Cu, Chris |
Re: Problem mit API-Funktion in Kombination mit tWebbrowser
Hi Chris,
probiere es noch mal so:
Delphi-Quellcode:
Grüße vom marabu
var
doc: IHTMLDocument2; cStyles: IHTMLStylesheetsCollection; i: integer; ss, vi: OleVariant; begin doc := WebBrowser.Document as IHTMLDocument2; cStyles := doc.styleSheets; // kein cast notwendig for i := 0 to cStyles.length - 1 do begin vi := i; ss := cStyles.item(vi); // kein cast möglich ShowMessage(ss.href); end; end; |
Re: Problem mit API-Funktion in Kombination mit tWebbrowser
Klappt perfekt!!! Danke Marabu!
Nur löschen kann ich ein solches StyleSheet immernoch nicht (dafür scheint es leider keine Prozedur zu geben, oder weißt du hier auch eine Lösung? Cu, Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz