FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Me Da este error y no se como quitarlo
Hace poco puse un metodo para que los formularios queden en la barra de tareas, sacado de trucomania y desde hace poco me da el siguiente hint, y el formulario principal cuando le doy a un combox se oculta, como si hubiera echo un click de minimizar y luego se vuelve a maximizar el formulario.
Esta es la llamda que tengo procedure CreateParams(var Params: TCreateParams); override; mas abajo tengo el formulario con el metodo: procedure TFPass.CreateParams(var Params: TCreateParams); begin inherited; Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW; Params.WndParent := GetDesktopWindow; end; Y en el hint me da el siguiente error desde entonces no va bien ... verriding virtual method 'TFPass.CreateParams' has lower visibility(private) than base class 'TForm'(protected) |
#2
|
||||
|
||||
Me encontré una vez con un error similar, y había sido un despiste al declarar la función en la sección inadecuada, ¿dónde tienes la declaración del procedimiento?
|
#3
|
||||
|
||||
¡Hola a todos!
Ese mensaje de compilación no es un error, sino un comentario (hint). Una advertencia de menor importancia que te indica que el método redefinido CreateParams fue declarado en una sección de menor nivel de acceso (Private) de TFPass, que el método CreateParams heredado de la clase padre TForm (el cual está declarado en la sección protegida —Protected—). Cuando se redefine un método o propiedad no es posible forzarlo a que pierda visibilidad respecto al nivel de acceso que tiene en la clase padre. Es decir, si declaras un miembro de clase como protegido, redeclararlo en una clase descendiente como privado no lo vuelve privado (sigue siendo protegido). Lo correcto es incluir una sección Protected en la clase TFPass, con la redefinición del método en cuestión. Un abrazo público. Al González. |
#4
|
|||
|
|||
Vale ya he quitado el aviso de HINT cambiando poniendolo en la zona privada como protegido. Pero sigue haciendo cosas raras, hago click en un combox y el Form donde esta desaparece, quito el metodo Create Params del form y ya funciona correctamente el combox es de las TMS, antes me funcionaba perfectamente puede ser que el compilador ahora se me ralle.
Hago click en el combox de tipo dato, aparece un calendario pero desaparece el form, selecciono la fecha y ya vuelve a aparecer, algo pasa con el Create Params y mi manera de implementarlo.
Alguien tiene alguna sugerencia porque con el Create Params se ralla la visualización. Gracias. |
#5
|
||||
|
||||
Lo que estas haciendo es modificando la forma de crear la ventana, quizás lo que necesitas es modificar la creación del ComboBox o de la lista desplegable de ese combo.
No conozco los TMS, pero casi seguro que estas usando clases interpuestas ¿no? Convendría que pusieras el código completo de la declaración del Form y del Combo. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
|||
|
|||
A ver lepe yo con el combox no hago nada, es un combox de tipo fecha que añadi de las Tms, entonces queria que mi formulario se minimizara en la barra de tareas, añadi lo de Create Params a cada formulario y nada todo iba bien, ahora añadi simplemente un nuevo campo y me pasa lo siguiente en ese tipo de datos. Se me oculta el formulario cuando abro el combox y una vez selecciono la fecha, el formulario vuelve a ser visible. Las unicas declaraciones echas son esas que ves. Alguna idea al respecto?. No incluyo el codigo porque lo unico importante es eso, he aislado el error, pero no se como arreglarlo.
La declaracion del combox es EFI: TPlannerDatePicker; Declaracion del Formulario: TFFicha = class(TForm) Saludos y gracias Lepe. Última edición por serhasae fecha: 07-07-2006 a las 13:53:55. |
#7
|
||||
|
||||
Hola,
Cita:
Por lo demás, no sé si tendrá que ver o no, pero, esto es lo que se encuentra en la ayuda de Delphi acerca del método "CreateParams" en el contexto de la clase "TCustomForm": Cita:
|
#8
|
|||
|
|||
Si esta claro que Private y Protected no estan anidados, pero sino redefines el medoto CreateParams con el override, entonces no se minimizaria el formulario en la barra de tareas, esto lo saque de un Post de Roman, lo que no entiendo es porque se ralla la aplicacion, a ver si MarcosZorrilla, Dephiar o Roman me pueden explicar que demonios esa pasando. Gracias dec por tus observaciones.
|
#9
|
|||
|
|||
Estoy mirando y no veo nada incorrecto en la declaracion. Podria declarar el combox calendario en otro lado para evitar ese comportamiento raro. A ver si alguien me echa un cable. Saludos.
|
#10
|
|||
|
|||
Joo nadie me puede dar alguna idea, voy perdido y no se que ha pasado. Gracias.
|
#11
|
|||
|
|||
Solucion
Mala implementacion de Create Params lo vi en un post que discutia Roman con otro usuario y decian que era mejor añadir una segunda linea al create params, la quite y ya quite el error.
Debe de quedar asi el create params
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como resuelvo este error "Temporary table resource limit" | fredy_boots | Conexión con bases de datos | 3 | 29-10-2014 12:53:01 |
Como saber el origen de este error.. | n3mohack | Varios | 2 | 10-02-2006 21:05:28 |
Error 10093 al ver un informe - Que error es este? | URBANO | Impresión | 1 | 03-02-2006 18:44:39 |
¿Por qué me da este error?Error creating cursor manejador | nuri | SQL | 2 | 01-08-2005 17:30:28 |
como resuelvo este error? | Ryu | Internet | 3 | 18-04-2005 19:10:39 |
|