[Lazarus-es] forms enredados II

José Mejuto joshyfun en gmail.com
Lun Dic 20 22:45:33 CET 2010


Hello Paola,

Monday, December 20, 2010, 10:32:55 PM, you wrote:

PB> al darle dobleclic a la primera línea, va a la línea naranja del
PB> código.. y ahí no se que dato te puedo copiar..

Intentaré sacar alguna pista del bt que mandaste.

>> Por que el form no se libera, se queda ocupando memoria. Puedes
>> liberarlo después del ShowModal.
PB> claro.. pensé lo mismo...después del showmodal puse el freeandnil y tb
PB> explota!!.. no de primera, pero si lo hago 2 o 3 veces seguidas, o sea,
PB> entro, salgo, entro, salgo... KBOOM!!
PB> También creo recordar que saqué TODOS los closeAction:= caFree por close
PB> y hacía el freeandnil  luego de cada showmodal, y tb me pasaba lo mismo!
PB> Cuál sería entonces la forma "más normal" de hacerla aquí? así pruebo
PB> nuevamente..

La segunda sería la "más correcta" ya que tienes controlada la "vida
del form" al ser mostrado con modal.

El truco para pillar estos bugs es conseguir saber que mensaje nos
está haciendo explotar todo. Cuando en el bt (backtrace) lo más lejos
que podemos llegar es un RUN_LOOP, PROCESSMESSAGES, HANDLEMESSAGE o
alguna función con un nombre parecido, el culpable en el 80% de los
casos es un timer ya que es casi el único modo de que llegue un
mensaje justo en el momento menos oportuno.

Comprueba lo que haces en el timer, y como prueba desactívalo. Si al
desactivarlo todo funciona es que algo muy raro está pasando.

Yo voy a hacer un par de pruebas con showmodal a ver si consigo que
explote.

-- 
Best regards,
 José





More information about the Lazarus-es mailing list