FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Parent, ParentWindow, objetos y el error Control has no parent Window
Hola,
Houston, we have a problem. O sea, vente con la caja-herramientas Pepe que la hemos liado. Rápido. Venga. Vamos. Dale. Ya tenías que estar aquí, Pepe. Pero, creo que me estoy yendo por las ramas... pido disculpas y sigo adelante a ver si soy capaz de centrar el asunto que me preocupa y me está causando problemas y alguna cana tal vez. La madre que lo parió. La verdad es que no sé cómo explicarlo bien. Por eso he tratado de montar "algo" para reproducir el problema, de modo que vosotros mismos podáis ver dicho problema con vuestros propios ojos. El problema se da con otros componentes, y en otra situación, pero, al cabo creo que he conseguido el mismo error, es decir, reproducir este. En el archivo adjunto (proyecto de pruebas) lo veréis más claro, pero, básicamente se trata de lo siguiente: 1º Es menester crear un objeto dentro de una determinada ventana cuyo "Handle" conocemos 2º No puede usarse su propiedad "Parent", sino que hay que recurrir a "ParentWindow" 3º El objeto que hay que crear contiene a su vez un objeto en su interior 4º Este segundo objeto (dentro del primero) está al tanto del ratón, y, cuando se hace clic sobre el objeto, se hace una llamada a "SetFocus" 5º Es esta llamada a "SetFocus" la que "levanta" el error, puesto que dicho objeto "embebido" en el otro "No has parent Window"... Ayer estuve varias horas intentando dar con una solución. Busqué mucho por Internet, y encontré bastante información, pero, nada clara (para mí) y, todo lo que intenté fue un fracaso, no funcionó. Hoy he conseguido montar esta especie de "escenario" para poder probar el asunto más claramente, puesto que creo que si se consigue una solución para el problema en este escenario (ver archivo adjunto) la misma será válida también para cualquier otro similar. No sé. A ver si me podéis echar una mano. No corre prisa alguna, empero, agradecería cualquier comentario acerca de qué puede estar pasando. Seguro que hay gente aquí mucho más experimentada que yo en estos menesteres. En todo caso muchas gracias a todos por la atención. De verdad. De la buena. Muchas gracias de antemano. Última edición por dec fecha: 23-07-2008 a las 20:15:40. |
#2
|
||||
|
||||
Amigo no se si a los demas tambien, pero a mi no me deja descargar el adjunto
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#4
|
||||
|
||||
Hola,
Vaya. Es cosa de los permisos de usuario. Sé que no es lo mismo, porque tendrás que hacer un esfuerzo más, pero, aquí está el código fuente del asunto. Tienes que incluirlo en el formulario principal de un proyecto nuevo de Delphi, creo que me entiendes.
|
#5
|
||||
|
||||
Hola,
Gracias por tu respuesta Domingo. Juraría que he probado con "CreateParented", pero, como no estoy seguro de haberlo hecho con todos los componentes implicados, voy a hacerlo ahora mismo sobre el "escenario de pruebas" y, si funciona, lo haré en la aplicación real en que tiene que ir bien. Ahora mismo cuento lo que sea. Gracias de nuevo. |
#6
|
||||
|
||||
Hola,
Vale. No funciona del todo bien Domingo. De hecho creo que ya probé con ello, lo que pasa es que he probado ya tantas cosas que ni me acuerdo... lo digo en serio. Ahora bien, en el ejemplo, efectivamente, puedes usar el "CreateParented" y el error no aparece. Sin embargo, si el panel de ejemplo "usara" tuviera que responder al teclado me temo que no lo haría. ¿Me temo? Bueno. No he podido hacer la prueba, pero, sí la he hecho en la aplicación real en que estoy teniendo el problema. Efectivamente, con el "CreateParent" no se da el error, pero, tampoco pueden manejarse el componente con el teclado. Además, usando el CreateParented se produce una violación de acceso al cerrar la aplicación en una de cuyas ventanas "incrusto" el componente de marras. Bien. Tal vez esto pueda evitarse (tal vez no se prevén las consecuencias del CreateParented). Pero, como digo, lo que más me "preocupa" de la solución es que aunque no aparece el error que menciono al principio, tampoco el componente es capaz de reaccionar al teclado, con lo que pierde parte de su funcionalidad. De hecho, y como el problema se produce con sendas llamadas a "SetFocus", yo puedo no hacer estas, es decir, evitarlas, y de este modo todo va perfecto... salvo que el componente no actúa con el teclado... o sea que estaría en las mismas. En fin. Gracias de todas formas Domingo. A lo mejor el ejemplo que he preparado no sirve muy bien, o habría que hacer algún cambio para comprobar que efectivamente el panel embebido puede actuar con el teclado. |
#7
|
||||
|
||||
Hola,
Soy yo otra vez... qué pesado... Pues nada. Que probando si el panel embebido puede responder al teclado creándose mediante el "CreateParent"... así es. Es decir, que el asunto funciona Domingo, pero, funciona en el ejemplo, no en la aplicación real en que tengo los problemas. Sigo liado haciendo pruebas. Me **** en la ****. |
#8
|
||||
|
||||
Caramba !!! que costumbre mas fea tienen los usuarios novatos de preguntar una cosa, cuando en realidad quieren saber otra
De que se trata en realidad, si hace falta podemos recurrir a la api |
#9
|
||||
|
||||
Dec, acabo de modificar tu codigo
los create segun dijo seoane y si me funciona con el teclado, o sea pude escribir en el, no se que otra funcionalidad esperas con el teclado, al menos eso fue lo que te entendi PD. Creo que respondimos los tres a la vez
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Control has not parent Window | peripla | Varios | 7 | 06-07-2007 04:26:27 |
In Design: Control no has parent window | Negegoca | Varios | 1 | 26-01-2007 17:26:36 |
Array de controles - Control has no parent window | SyncReuter | OOP | 8 | 24-01-2007 02:21:14 |
error con el parent window | antonio peña | Varios | 1 | 04-10-2006 10:18:50 |
Ayuda: Control Has No Parent Window | pelaorb68 | Varios | 10 | 20-12-2005 20:36:26 |
|