¿Por qué TControl.Hide no oculta un control?

¿Hay alguna razón, no importa? cómo trivial puede parecer, eso pararía TControl.Hide or control.Visible := False de trabajar?

Tengo una línea de código para mi aplicación que es ocultar un panel que contiene algunos controles (JvPanels, etc.) que por alguna razón no oculta el panel.

Este es el codigo

pnlMainData.Hide;

Intenté enviar mensajes directos al panel para ocultarlo (como está en la función SetVisible) sin éxito.

preguntado el 08 de noviembre de 11 a las 12:11

Quizás pnlMainData no es lo que crees que es Quizás pnlMainData ¿Tiene un padre que gestiona sus controles secundarios automáticamente? Quizá lo haces pnlMainData.Show en el objeto OnTimer evento de un TTimer, o en el OnIdle evento de un TApplicationEvents? -

¿ShowWindow (pnlMainData.Handle, SW_HIDE) oculta el panel? Si es así, ¿tal vez un WndProc personalizado está comiendo ciertos mensajes? -

¿Qué tal si muestra un pequeño proyecto que reproduce el problema? -

1 Respuestas

Bueno, después de luchar con esto por un tiempo, volví a hacer una pila de código para acercarme al evento Hiding y lo resolví yo mismo. Una cosa que también noté es que este problema a veces ocurre cuando se usa FASTMM y cuando no se usa parece funcionar bien.

He enviado la aplicación para que la prueben los probadores de mis clientes, así que veremos si tienen el mismo problema.

respondido 09 nov., 11:10

No se engañe pensando que FastMM es el problema. Es casi seguro que el problema esté en su código. - David Heffernan

No soy. Usé fastmm para rastrear algunos otros errores que estaba rastreando y me di cuenta de que cuando intentaba ocultar el panel, a veces fallaba en ocultarlo. sin embargo, la función de ocultar funciona como debería. - Brendan

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.