Rolf B: jQuery .change() Method - automatisches Nachladen bei automatisierter Webseitenbestückung funktionert nicht

Beitrag lesen

Hallo Oe,

okay. Warum sollte man das auch dokumentieren, liebe Freunde bei Microsoft. Dieser Haufen Interfaces ist einfach nur ein abscheulicher Misthaufen, und die Doku ist eine unbrauchbare, stumpfe Auflistung von Methoden und Parametern, ohne Erklärung von Sinn oder Zweck dessen, was da angeboten wird. Drölf verschiedene Interfaces für HTMLElement - klar, es sind COM Interfaces und wenn erstmal eins definiert ist, darf man es nicht mehr ändern, aber es ist trotzdem GRUSELIG.

fireEvent ist offiziell auf IHTMLElement3 deklariert, nicht IHTMLElement4. Und IHTMLElement4 erbt lauft Doku von IDispatch und nicht von IHTMLElement3, so dass auf dem 4er Interface die Methoden des 3er Interface nicht sichtbar sein dürften. Interessant, dass er die Methode trotzdem findet. Es mag daran liegen, dass das Script-Interface namensgesteuert bindet und ihm das Interface wurscht ist.

Laut Doku hat fireEvent jedenfalls 3 Parameter, und der 3. soll ein ref-Parameter mit einem VARIANT_BOOL sein. Keine Ahnung, wie man das in VB formuliert. Er müsste auch abbrechen, wenn Du die falsche Methodensignatur benutzt, und nicht einfach nichts tun. Seltsam. Und weil es das Scripting Interface ist, gibt's auch keine Interop-Assemblies und kein Intellisense.

Das ist alles alter, IE-basierender Kram, MS depubliziert die Dokumentation dafür, und das, was man noch findet, ist kaum verständlich. Wobei - die meiste MSDN-Doku seit 2005 ist unverständlich. Scheinbar will Microsoft nicht, dass man das benutzt. Du verwendet da eine COM Schnittstelle zum IE, und nicht den IE als Webbrowser-Control. Das macht es nochmal komplizierter.

🤷

Rolf

--
sumpsi - posui - obstruxi