[Lazarus-es] Error en formularios y lazreport
Maxi
maximiliano.duarte en gmail.com
Mar Jul 21 18:53:37 CEST 2015
y rpt. esta creado en el modulo?
enviame la rutina completa de las llamadas que falla.
Creo se puede organizar mejor el codigo y aislar la falla
El día 21 de julio de 2015, 13:20, Ismael L. Donis Garcia
<slibre en citricos.co.cu> escribió:
> La rutina de visualizar los reportes es la que sigue:
>
> procedure Tfcaptar.cmdimpClick(Sender: TObject);
> var
> strsql: string;
> begin
> if (ds.RecordCount > 0) then begin
> dbg.SetFocus;
> if (fconta.RegOpe = 'CL') then
> strsql:=ExtractFilePath(Application.Exename) + 'ccta.lrf'
> else if ((fconta.RegOpe = 'PR') or (fconta.RegOpe = 'OR') or
> (fconta.RegOpe = 'CA')) then
> strsql:=ExtractFilePath(Application.Exename) + 'clapro.lrf'
> else
> strsql:=ExtractFilePath(Application.Exename) + 'archivos.lrf';
> rpt.LoadFromFile(strsql);
> rpt.ShowReport;
> end;
> end;
>
> Saludos Reiterados
> ========
> | ISMAEL |
> ========
> Only for the small landowners and Cubans companies
> Website: www.sisconge.byethost15.com
> www.sisconge.hol.es
> ----- Original Message ----- From: "Maxi" <maximiliano.duarte en gmail.com>
> To: "Spanish version of Lazarus List"
> <lazarus-es en lists.lazarus.freepascal.org>
> Sent: Monday, July 20, 2015 5:02 PM
> Subject: Re: [Lazarus-es] Error en formularios y lazreport
>
>
> sin duda viene de otro lado el problema.
> Enviame la rutina completa con las llamadas a los reportes
>
> El día 20 de julio de 2015, 17:51, Ismael L. Donis Garcia
> <slibre en citricos.co.cu> escribió:
>>
>> El error me la da la Unit LR_Class;
>>
>> en la linea 10622
>>
>> Caption := s + ' - ' + Title;
>>
>> Saludos Reiterados
>> ========
>> | ISMAEL |
>> ========
>> Only for the small landowners and Cubans companies
>> Website: www.sisconge.byethost15.com
>> www.sisconge.hol.es
>> ----- Original Message ----- From: "Maxi" <maximiliano.duarte en gmail.com>
>> To: "Spanish version of Lazarus List"
>> <lazarus-es en lists.lazarus.freepascal.org>
>> Sent: Monday, July 20, 2015 12:54 PM
>> Subject: [Lazarus-es] Error en formularios y lazreport
>>
>>
>> El día 18 de julio de 2015, 11:57, Ismael L. Donis Garcia
>> <slibre en citricos.co.cu> escribió:
>>
>>
>>> En el encabezamiento del grupo das click secundario y marcas las opción
>>> de
>>> Forzar Nueva Página.
>>>
>>> Respecto a Delphi ni me preguntes. Jamas en la vida lo he usado, nunca me
>>> ha
>>> gustado. En windows siempre había trabajado con Visual Estudio.
>>>
>>> He mirado a Lazarus porque es libre y multiplataforma y como yo me he
>>> tirado
>>> ultimamente para Linux, soy el encargado en mi empresa en difundir el
>>> soft
>>> libre. De hecho el sistema operativo que uso por defecto es Jessie,
>>> aunque
>>> tengo PC virtuales con 1 millón de sistemas porque viy haciendo estudios
>>> de
>>> los que puedo hacerme, ahora mismo estoy mirando a Manjaro OpenRC el cual
>>> ha
>>> tenido una bueba aceptación.
>>>
>>> En estos momentos estoy parado en Lazarus, hoy voy a instalar la versión
>>> 1.4.2 a ver si me resuelve un problema que tengo precisamente con
>>> lazreport
>>> el cual me da una ecepción si cierro todos los formulario abiertos desde
>>> un
>>> modulo de datos y los vuelvo a abrir. Al volver abrir los formulario y
>>> tratar de visualizar algo en lazreport este tira una ecepción y me cierra
>>> el
>>> programa la rutina que tengo para cerrar los formularios es la siguiente:
>>>
>>> procedure Tdm.IniSis();
>>> var
>>> f: Tforigen;
>>> i: integer;
>>> begin
>>> DecimalSeparator:='.';
>>> ThousandSeparator:=',';
>>> ShortDateFormat := 'dd/mm/yyyy';
>>> blnend := false;
>>> intciclo := 0;
>>> intfilas := 0;
>>> intnivel := 0;
>>> lngentidad := 0;
>>> struser := '';
>>> strerror := '';
>>> for i := Screen.FormCount - 1 downto 0 do begin
>>> if Screen.Forms[i].Name <> Self.Name then begin
>>> if Screen.Forms[i].Name <> 'fconta' then Screen.Forms[i].Free;
>>> end;
>>> end;
>>> for i := Screen.FormCount - 1 downto 0 do begin
>>> if Screen.Forms[i].Name <> Self.Name then Screen.Forms[i].Free;
>>> end;
>>> Application.CreateForm(Tfconta, fconta);
>>> Application.CreateForm(Tfsplash, fsplash);
>>> fsplash.Show;
>>> Application.ProcessMessages;
>>> if datos() then
>>> entrar()
>>> else
>>> begin
>>> f:=Tforigen.Create(Self);
>>> f.IniSystem:=true;
>>> f.ShowModal;
>>> f.Free;
>>> if blnend then
>>> cerrarme()
>>> else if datos() then
>>> begin
>>> intciclo := intciclo + 1;
>>> entrar()
>>> end
>>> else
>>> cerrarme();
>>> end;
>>> end;
>>>
>>> El error que me da es el siguiente:
>>> El proyecto XXXX ha lanzado una excepción de la clase Éxternal: SIGSEGV'
>>> En
>>> Archivo '.\include\control.inc'en linea 3260
>>>
>>> Pero no veo cual puede ser el error porque si no cierro los formularios
>>> con
>>> la rutina anterior nunca me da ese error, lo peor del caso es que a veces
>>> si
>>> tengo que utilizar ese procedimiento.
>>>
>>> Por ese motivo voy a instalar la versión 1.4.2 a ver si persiste el
>>> problema.
>>>
>>> Saludos Cordiales
>>> ========
>>> | ISMAEL |
>>> ========
>>
>>
>>
>> Paso a otro hilo para que sirva despues.
>>
>> Creo que primero debes dejar al modulo de datos solo para datos, y
>> hacer las creaciones y destrucciones mas controladas.
>>
>>> Application.CreateForm(Tfsplash, fsplash);
>>> fsplash.Show;
>>
>>
>>
>> el splash lo creas en el proyecto
>>
>>> Application.CreateForm(Tfconta, fconta);
>>
>>
>>
>> No usaria esto sino Tfconta.Create(self), aunque en tu caso usaria el
>> envento occlose y le pondria caFree, que lo destruye al salir del
>> form, con eso te olvidas de liberarlo y no usaria Self sino nil (sin
>> pariente)
>>
>> procedure TFormPrincipal.FormClose(Sender: TObject; var CloseAction:
>> TCloseAction);
>> begin
>> CloseAction:=caFree;
>> end;
>>
>>
>> Te ayudo si quieres
>>
>> --
>> El que pregunta aprende, y el que contesta aprende a responder.
>>
>> No a la obsolecencia programada:
>>
>> http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml
>>
>> Linux User #495070
>> http://domonetic.com/blog
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>>
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
>
>
> --
> El que pregunta aprende, y el que contesta aprende a responder.
>
> No a la obsolecencia programada:
> http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml
>
> Linux User #495070
> http://domonetic.com/blog
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
--
El que pregunta aprende, y el que contesta aprende a responder.
No a la obsolecencia programada:
http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml
Linux User #495070
http://domonetic.com/blog
More information about the Lazarus-es
mailing list