![]() |
OnHelp de Application y Form
Tengo una aplicacion lista, he desarrollado un archivo de ayuda HTML que esta casi listo, estoy intentando enlazarlo con la app mediante el evento OnHelp de la variable Application, al ejecutar la aplicacion y presionar F1 el evento simplemente no se ejecuta, :confused: he estado revisando documentacion y la ayuda menciona que este evento es llamado por los metodos HelpContext y HelpJump.
Esto es asi por diseño o a lo mejor estoy haciendo algo mal y por ello el evento no se ejecuta? |
Para que HelpContext se active tienes que dar un valor a esta propiedad en los formularios.
Un Saludo. |
Marcos
No es ese el problema, las propiedades HelpContext de los forms estan correctamente asignadas, el asunto es que tengo asignado un manejador para el evento OnHelp de la variable Application y ese evento no llega a ejecutarse, llama al archivo de ayuda y todo, pero el evento no se ejecuta, ese es el problema que tengo. |
El problema está en esto:
Cita:
Para ello puedes mirar de conrolar el evento OnKeyUp o OnKeyDown del formulario o componente o valerte de un TActionList |
creo que no me he explicado bien...
Realizando pruebas he establecido un archivo de ayuda HLP, al presionar F1 se abre el citado archivo, pero el evento OnHelp de un objeto TAplicationEvents que tengo asignado no se ejecuta, no se porque, segun entiendo antes de abrir el archivo de ayuda se debe llamar primero a este evento si esta asignado, pero no ocurre asi... mi objetivo es usar un archivo CHM, para lo cual quiero interceptar la llamada al archivo de ayuda a traves del evento OnHelp mencionado antes, realizando las llamadas correspondientes de la unit HTMLHelpApi.pas y evitando la activacion del WinHelp mediante el parametro CallHelp del evento, pero sucede que el evento nunca se ejecuta, ni cuando hago pruebas con un archivo HLP valido, ni cuando uso el CHM que me genera un error. Por cierto, alguien podria facilitarme a mi correo la unit HTMLHelpApi.pas? he estado buscando a traves de la red y la que he encontrado parece no ser la misma que he visto mencionada en los foros |
Mira acabo de hacer la siguiente prueba, y me funciona sin ningún problema:
Cada vez que pulso F1 me muestra el mensaje que ves y ademas me abre el fichero de ayuda que he colocado circunstancialmente. Un Saludo. |
Cita:
// Saludos |
Estoy utilizando D5 y W98.
Acabo de probar con D7 y me muestra la ayuda pero no me lanza el evento. Un Saludo. |
Cita:
// Saludos |
Cita:
Por cierto, referente al problema.... no creeis que os complicais demasiado la vida intentando engañar a Delphi poniendo un archivo de ayuda HLP para disparar dicho evento y así poder lanzar el CHM?? No se, existen cantidad de componentes que te permiten lanzar una ayuda en CHM por internet :rolleyes: |
Cita:
// Saludos |
lo que dice roman es realmente lo que me pasa, simplemente quiero que se ejecuta el OnHelp pero no se ejecuta...
Cadetill, te confirmo que he recibido la unit, te lo agradezco sinceramente... En teoria al ejecutarse el OnHelp solo deberia escribir un par de sentencias para que funcione la ayuda HTML, una para llamar la funcion que corresponda de la unit HTMLHelpApi.pas y otra para establecer el parametro CallHelp del evento para que el WinHelp no sea llamado (que es el comportamiento predeterminado). Estoy usando Delphi 7 y WinXP asi que debe ser el bug mencionado. Probare la solucion que aparece en el enlace proporcionado por roman y les notifico despues como resultó el asunto. |
Cita:
// Saludos |
Pues no sé qué hice ayer (posiblemente no establecí ningún HelpContext) pero en realidad sí me funcionó el parche para D7.
Por otro lado acabo de instalar el Update de Delphi 7 y parece que corrige el problema sin necesidad del otro parche. // Saludos |
En efecto, el parche funciona, y debo tambien confirmar que el Update 1 que acaba de salir para Delphi 7 corrige el problema. El archivo README de este Update se encuentra aqui
El bug esta mencionado en la seccion VCL y es el primero que aparece en dicha seccion: Cita:
|
La franja horaria es GMT +2. Ahora son las 21:30:49. |
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