PDA

Ver la Versión Completa : Volcado de Pila al desplegar informe


vicvil
16-04-2013, 19:26:42
Tengo un problema que no puedo encontrar el motivo.
Cuando despliego un informe en quickreport en Delphi 5 se me produce un volcado de pila. A cada Dataset le hago su respectivo free además tengo la funcion LiberarMemoria que se puede encontrar aqui en esta página, he tratado de seguir donde me envia el error y no puedo encontrarlo.
Cuando se cae, doy Ctrl+Alt+S y me muestra la ventana con esto


Cal Stack - Thread $A5c
--------------------------------------------------
TBDEDataSet.GetFieldData(3,$35142)
TBDEDataSet.GetFieldData($1333CC8,$35142)
TDataSet.GetFieldData($1333CC8,$35142,True)
TField.GetData($35142,True)
TStringField.GetValue('')
TStringField.GetAsString
TStringField.GetText('',True)
TField.GetDisplayText

por lo que entiendo se cae al tratar de desplegar un campo, pero no se cual.

Al González
16-04-2013, 21:34:24
Hola vicvil.

Para intentar ayudarte con este caso haría falta conocer, por lo menos, el mensaje de error exacto (cuando te aparezca presiona Ctrl+C para copiarlo y luego pegarlo aquí) y también la pila de llamadas completa.

Junto con esta solicitud de información te hago un par de preguntas:

1. ¿Usas campos calculados?
2. ¿Usas eventos de campos, de qué manera?

Por cierto, viendo ese trozo de la pila de llamadas, para saber de qué campo se trata coloca un punto de ruptura y agrega la observación (watch) TField ($1333CC8).FieldName (el objeto campo en cuestión es el primer parámetro que recibe el método TDataSet.GetFieldData).

Saludos.

vicvil
17-04-2013, 18:50:18
Al, hice lo que me dijiste y me dio el nombre del campo donde arrojaba el error, pero este no tenia nada especial solo desplegaba un dato y despues de mucho darle vueltas descubrí que estaba dando un error por un ColumnHeaderBand que se tornaba en un loop porque le tenía puesto la Propiedad ForceNewColumn en true.
Al ponerla en false no me arrojó mas el stack overflow.
El problema ahora lo tenía en que me mostraba los dos informes en uno solo, es decir pegaba el informe numero dos inmediatamente debajo del primero y lo que yo necesitaba es que ambos se mostraran independientes en cada hoja.
Al final tuve que ponerle un QrGroup en blanco y a este asignarle en la propiedad Force New Page un true y ahi me resultó sin problema.

Al González
17-04-2013, 19:27:58
¿Entonces ya quedó? ¡Que bueno! Gracias por comentarlo, puede servirle a otras personas. :)