![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola.
Una pregunta Liante: ¿ Que hace el procedimiento 'BorrarPanelPersonal' previo a la creación ? Saludos. |
|
#2
|
||||
|
||||
|
Yo también he probado tu código y funciona perfectamente.
¿No tendrás por ahí escondido algún método de dibujado o algo similar que esté accediendo a los controles del panel y que no esté comprobando la existencia de los mismos? Un error bastante frecuente sería escribir algo como esto: ActiveControl:=Personal.Controls[0] sin comprobar antes si Personal.Controlcount > 0 Otra opción sería que después de llamar a BorrarPanelPersonal, hagas algo más... Usa mensajes: ShowMessage('empiezo a borrar los botones') ShowMessage('he terminado de borrar los botones') ShowMessage('voy a hacer otra cosa') para saber dónde salta la liebre. También puedes usar un manejador de excepciones global al programa (Application.OnException), dónde puedes investigar un poco de dónde viene el fallo, usando datos del objeto exception que te llegue. |
|
#3
|
|||
|
|||
|
Cita:
1. se crea el form con los botones de personas. 2. se borra los botones de personas. 3. se crean los botones de opciones de personas. eso es lo unico que hace y siempre me salta un violate, igual tengo que hacer el procedimiento 5 o 6 veces y entonces salta el violate es iregular el pete pero lo da bastante veces... Ahora estoy borrando el TTShet y lo estoy sustituyendo por un panel a ver si fuera eso. Cita:
|
|
#4
|
||||
|
||||
|
Cita:
![]() Mirá, primero ejecutás el código de 'BorrarPanelPersonal' que dentro de las cosas que hace es crear los botones. Luego veo que los volves a crear en el código que pusiste:
Si no estoy confundiendo la lógica, creo que por ahí tendrías que empezar a buscar el problema. Un saludo. ![]() |
|
#5
|
|||
|
|||
|
Hola compañeros,
me ando volviendo loco con Access Violation todavia... ahora parece que no peta el tema de personal quitandole... IBtransaction y el Close... Alguien me puede guiar un poco? estaban mal colocados? no era correcto o que pasaba?
no quedara ahora una transaction activa??? |
|
#6
|
|||
|
|||
|
Hola Neftali,
No se todadia el porque pero retoque tu codigo de creacion de botones en tiempo de ejecucion y cree y borre y me da un acces violation, me parece que es cuando se le asigna BotonOnClick pero todavia no estoy viendo donde esta el problema ya que no lo da siempre... es cuestion de ir pulsando el crear botones, darle al boton para que cree el BotonOnClick y volver a crear si lo haces de esta manera te acaba dando un ACCESS VIOLATION que me esta volviendo loko. te pego el codigo a ver si me puedes ayudar o alguien puede ver que es lo que estoy haciendo mal, porque le doy vueltas y vueltas y no encuentro donde la estoy cagando... Última edición por LiAnTe- fecha: 17-03-2011 a las 15:09:30. |
|
#7
|
||||
|
||||
|
Creo que deberías estructurar un poco más el código, porque me parece que hay cosas que están bastante "enredadas".
Por ejmplo, mirando el procedimiento que asignas a los botones creados hay esto:
Nada más entrar, destruyes todos los botones que has creado (for), y justo en la línea siguiente acceder a TSpeedButton(Sender), que es uno de los botones pulsados. ¿?¿?¿?¿ Es lógico que te de un AV.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#8
|
|||
|
|||
|
Cita:
mi intencion es la siguiente... 1. Creo botones de personal en el panel. 2. Borro Botones de personal en el panel y creo los botones de opciones del personal. pero si miras el codigo no peta siempre, a veces peta y otras tardas mas... Sabrias la solucion, porque yo me estoy volviendo loco buscandola... Gracias de antenamo por tu ayuda. PD: Igual estoy haciendo mal que antes de destruirlos tendria que guardar la variable?? para saber que tengo que crear??? |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Access Violation con DLL | emeceuy | Varios | 8 | 17-08-2007 21:57:55 |
| access violation | chona | Varios | 2 | 31-10-2006 01:36:04 |
| Access Violation | Carliviris | Varios | 5 | 12-05-2006 19:21:45 |
| Access violation at .... | Perio | Varios | 5 | 07-02-2006 15:50:36 |
| Access violation | Giasl | Varios | 6 | 07-05-2003 12:35:51 |
|