Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   webbrowser evento onchange (https://www.clubdelphi.com/foros/showthread.php?t=91956)

frangarrob 11-06-2017 17:34:49

webbrowser evento onchange
 
Buenas tardes.

En un programa que estoy desarrollando, necesito seleccionar de forma manual el valor de un select dentro de un TWebbrowser.

Mediante SelectedIndex y javascript, consigo modificar su valor, pero no hay forma de que dispare el evento onchange de ese objeto select.

En versiones antiguas (7) de Internet Explorer, esto funcionaba:
Código Delphi [-]
var
  doc : IHTMLDocument3;
  el  : IHTMLElement;
  v   : OleVariant;

if EmbeddedWB1.Document.QueryInterface(IHTMLDocument3,doc) = S_OK then
begin
   el := doc.getElementById('ddl_nFilas');
   el.FireEvent('onchange', v);
end;
Pero con la versión 9, en adelante, no me funciona...

¿Alguien ha podido solucionarlo?

Gracias.

ecfisa 11-06-2017 22:48:56

Hola frangarrob.

Por favor, en la próxima consulta que incluyas código usa las etiquetas de este modo:


Saludos y gracias por tu colaboración :)

roman 12-06-2017 18:02:56

A ver, prueba así:

Código Delphi [-]
var
  doc: IHTMLDocument3;
  el: IHTMLElement;
  evento: OleVariant;

begin
  el := doc.getElementById('ddl_nFilas');
  evento = doc.createEvent('Event');
  evento.initEvent('change', true, true);
  el.dispatchEvent(evento);
end;

LineComment Saludos

frangarrob 12-06-2017 18:38:02

Ok, voy a probar y te digo cómo me ha ido.

Muchas gracias por compartir tus conocimientos.

Un saludo.

frangarrob 13-06-2017 18:46:00

No me reconoce dispatchEvent
Código Delphi [-]
el.dispatchEvent(evento);

frangarrob 13-06-2017 18:49:42

Estoy utilizando el componete EmbeddedWB, que tiene una unidad llamada EwbEventsComp.pas

Igual con esto se puede hacer algo... porque he visto que aparece dispatchEvent dentro del código...


La franja horaria es GMT +2. Ahora son las 13:53:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi