[Lazarus-es] Error en formularios y lazreport

Ismael L. Donis Garcia slibre en citricos.co.cu
Mar Jul 21 18:20:15 CEST 2015


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






More information about the Lazarus-es mailing list