![]() |
Cómo simular el dragdrop de un fichero a un TWebbrowser?
alguno sabéis si se puede simular el dragdrop de un fichero a un TWebbrowser?
Por ejemplo partiendo de un filelist que al hacer dobleclick en un fichero se simule el dragdrop hacia el tbrowser sin tener que arrastralo? no se si es muy complicado lo que pretendo o es una chorradita pero no encuentro info al respecto, o no se bien como buscarla (encontré algo simulando clicks del ratón, pero seguro que hay un modo más simple) gracias |
Casi lo consigo con lo de simular clicks de ratón, pero no funciona
luego en el dragover del twebbrowser pongo
Pero no funciona como debería, me sale el tipico mensaje de que si quiero abrir o guardar el archivo, algo no hago bien |
Hola cocute.
Te hice un ejemplo simple (a modo de guía).
Saludos :) |
gracias, he probado pero no funciona,
hace lo mismo que había puesto de simular los cliks, pero está claro que de un modo más elegante y mejor ya que no mueves el ratón para nada. Al hacer click en los ficheros de la filelist me sale el mensaje de que si quiero abrir o guardar pero no hace lo que haces cuando arrastras por ejemplo un fichero kml al navegador cuando está esta web abierta http://ivanrublev.me/kml/. Igual es que no se puede hacer por temas de seguridad. De hecho al compilar tu ejemplo el programa compilado me salta el antivirus kaspersky como de una actividad sospechosa. |
1 Archivos Adjunto(s)
Hola cocute.
El ejemplo funciona correctamente en Delphi 7 y Windows 7 32 bits, en cuanto al antivirus... Configuralo en la sensibilidad adecuada o reporta el falso positivo. No te adjunto imágenes de la ejecución ya que no reflejarían el movimiento de Drag & Drop, pero sí los archivos fuentes que están funcionando correctamente y, de no mediar modificaciones en él, debería seguir haciéndolo. Por último te aclaro nuevamente que es un ejemplo de como podrías implementarlo, una guía y no una solución concreta a tu problema del cuál desconozco todos los pormenores. Saludos :) |
cocute,
Cita:
Te comento: 1- El código de Delphi esta tan optimizado a nivel de compilación que algunos antivirus detectan el ejecutable como un posible riesgo de seguridad. 2- Internet Security y Norton 360 también detectan posibles riesgos de seguridad con los ejecutables del Delphi 7, Delphi 2010 y Delphi XE6, asumo que lo mismo puede ocurrir con otras versiones de Delphi. 3- Revisa este código: El código anterior en Delphi 7, 2010 y XE6 es detectado por Norton 360 como : A program was behaving suspiciously on you computer. This program was removed. Threat name: SONAR.Heurist.120 Esto se debe a que la tecnología heurística de Norton 360 analiza la estructura y tipo de instrucciones del programa en Delphi y por su nivel de optimización y tipo de instrucciones determina una posible brecha de seguridad, sin embargo esto puede ser controlado a nivel de configuración en Norton 360, asumo que debe ser igual para Kaspersky Antivirus. Espero sea útil :) Nelson. |
gracias por tu tiempo,
pero lo que pretendo no funciona, para que lo veas mejor te pongo el código modificado, que has enviado para que veas que no simula exactamente el dragdrop al arrastrar un fichero kml, en cambio si pruebas a arrastrar un kml de los que pongo desde el explorador de archivos a la ventana del twebbrowser verás que si lo acepta: https://www.dropbox.com/s/hyd0m54ao2...adrag.zip?dl=0 (incluyo el exe) |
Hola cocute.
Descargué y probé tu archivo. Sólo tuve que quitar del uses ", SHDocVw,system.Win.registry;" que no reconoce mi Delphi 7 y algo de código del evento OnCreate (que no hace al funcionamiento del Drag & Drop) quedando así: y tál como lo esperaba, funciona correctamente: ![]() Así que el error debe estar el el código que te comenté, revisa esos puntos. Saludos :) |
El código del registro que pongo en el oncreate es para que pueda mostrar la web http://ivanrublev.me/kml/ correctamente en un webbrowser,
Todo este tema viene de este post: http://www.clubdelphi.com/foros/showthread.php?t=86867 Al arrastrar el kml al webbrowser tendría que mostrar el mapa del fichero kml en la web, no el código del kml. No se si me explico bien? Lo que pretendo que pase al hacer click en uno de los ficheros kml es esto: https://www.dropbox.com/s/slfx3hh81j...34.13.png?dl=0 ![]() Pero lo que me ocurre, al menos en windows8 x64 es esto: https://www.dropbox.com/s/wn5wf4bpt8...39.51.png?dl=0 Y si le doya a abrir me lo abre con el googleearth |
Hola cocute.
Cita:
Acabo de incluir en el evento OnCreate el código correspondiente al registro y quitar la automatización del Drag&Drop dejándola manual (del modo normal) y sigue mostrando código html. Saludos :) Edito: Leyendo el enlace que menciona Neftali me pregunto... ¿ No tendrá que ver si IE es el navegador predeterminado ? |
Pero si arrastras un kml desde el explorador de archivos de windows a la ventana del navegador con esa web abierta que te ocurre?
igual es que hay que poner algo del tema OLE por algún lado. |
La franja horaria es GMT +2. Ahora son las 23:27:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi