close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 15 years ago

Closed 15 years ago

#858 closed defect (fixed)

About the Non Standard Struct Handling Report

Reported by: pgea@… Owned by: Víctor de Buen Remiro
Priority: normal Milestone:
Component: Kernel Version:
Severity: normal Keywords:
Cc:

Description

Según la nueva nomenclatura para las estructuras, éstas han de usarse con el prefijo "@".
Para facilitar la detección del uso antiguo se crean unos informes en la carpeta de logs del tipo "_non_standard_struct_<Now>.log".

Encuentro que hay dos situaciones en las que no puedo evitar que
esos logs se creen, probablemente debido a llamadas internas:

  1. Al usar la función Estimate se generan muchos mensajes del tipo:
    CALLING STRUCT '@ModelDef' WITHOUT @ IN FILE '...'
    

no sólo con @ModelDef sino con todos las estructuras relacionadas: @InputDef, @ParameterInf, @NonLinearInputDef y @TestResult.

  1. Al editar código encontramos que la interfaz de TOLBase nos ofrece como ayuda la definición de la estructura:
    @ModelDef(
              |ModelDef:
              |Valor: Struct StdLib::@ModelDef = {Serie Output ...
              |Definición: @ModelDef;Output;FstTransfor;SndTransfor ...
    

Esto crea mensajes en el log como éste:

CALLING STRUCT '@ModelDef' WITHOUT @

Change History (4)

comment:1 Changed 15 years ago by Víctor de Buen Remiro

Status: newaccepted

Gracias por el aviso. Veré cómo corregirlo si puedo y si no lo filtraré para que no dé mensajes sobre esos casos controlados.

comment:2 Changed 15 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: acceptedclosed

(In [2011]) Fixed #858

comment:3 Changed 15 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: closedreopened

Ahora da errores en la carga de la StdLib

...
ERROR: [1] Símbolo @InputDef fuera de lugar. Sólo los los nombres de Struct y Class pueden comenzar por el caracter especial @.  en el carácter 11, línea 307:
...
ERROR: [2] Símbolo @LinRegParamInf fuera de lugar. Sólo los los nombres de Struct y Class pueden comenzar por el caracter especial @.  en el carácter 25, línea 84:
...

comment:4 Changed 15 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: reopenedclosed

(In [2023]) Fixed #858
Structures used in more than one package of StdLib or in TOL C++ kernel must be created before to be used in a new file
stdlib/general/_structs.tol

Note: See TracTickets for help on using tickets.