Feature: When in objet-mode, allow the use of a CFG-object for the tcCFG parameter (Lutz Scheffler)
This commit is contained in:
@@ -197,6 +197,7 @@
|
||||
* 26/03/2017 FDBOZZO v1.19.49 Mejora cfg: Se permite indicar un archivo CFG por parámetro de cualquier directorio para anular los CFG predeterminados de los subdirectorios, para casos especiales donde sea necesario
|
||||
* 28/03/2017 FDBOZZO v1.19.49 Mejora vcx: Implementada sintaxis para importar o exportar clases individuales usando "classlibrary.vcx::classname::import" y "classlibrary.vcx::classname::export"
|
||||
* 11/04/2017 FDBOZZO v1.19.49 Bug Fix frx: Cuando dentro de una expresión se usa "&&", se corrompe el registro del FRX generado (Alejandro A Sosa)
|
||||
* 11/04/2017 FDBOZZO v1.19.49 Mejora cfg : En modo objeto permitir indicar un objeto CFG en lugar de un archivo CFG (Lutz Scheffler)
|
||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
@@ -308,6 +309,7 @@
|
||||
* 23/03/2017 Lutz Scheffler Reporte bug vcx v1.19.48: No funciona la generación de una clase individual con "classlib.vcx::classname" (Arreglado en v1.19.49)
|
||||
* 23/03/2017 Lutz Scheffler Mejora vcx v1.19.48: Poder importar una clase (VC2 generado con ClassPerFile) en un VCX existente (Agragado en v1.19.49)
|
||||
* 30/03/2017 Alejandro A Sosa Reporte bug frx v1.19.48: Cuando dentro de una expresión se usa "&&", se corrompe el registro del FRX generado (Arreglado en v1.19.49)
|
||||
* 28/03/2017 Lutz Scheffler Mejora cfg v1.19.48: En modo objeto permitir indicar un objeto CFG en lugar de un archivo CFG (Agragado en v1.19.49)
|
||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
@@ -1834,6 +1836,7 @@ DEFINE CLASS c_foxbin2prg AS Session
|
||||
LOCAL lcConfigFile, llExiste_CFG_EnDisco, laConfig(1), I, lcConfData, lcExt, lcValue, lc_CFG_Path, lcConfigLine, laDirInfo(1,5) ;
|
||||
, lnDirs, laDirs(1), llMasterEval, lcProp ;
|
||||
, lo_CFG AS CL_CFG OF 'FOXBIN2PRG.PRG' ;
|
||||
, loCFG_Manual AS CL_CFG OF 'FOXBIN2PRG.PRG' ;
|
||||
, lo_Configuration AS Collection ;
|
||||
, loLang as CL_LANG OF 'FOXBIN2PRG.PRG' ;
|
||||
, loEx as Exception
|
||||
@@ -1848,6 +1851,15 @@ DEFINE CLASS c_foxbin2prg AS Session
|
||||
tcInputFile_Type = EVL(tcInputFile_Type,'')
|
||||
lo_Configuration = .o_Configuration
|
||||
|
||||
IF VARTYPE(lcConfigFile) = "O"
|
||||
loCFG_Manual = lcConfigFile && lcConfigFile is an object CFG generated by get_DirSettings()
|
||||
toParentCFG = loCFG_Manual
|
||||
lcConfigFile = FULLPATH('Personalized-CFG-Object', tc_InputFile)
|
||||
loCFG_Manual.c_Foxbin2prg_ConfigFile = 'Personalized-CFG-Object'
|
||||
ELSE
|
||||
loCFG_Manual = NULL
|
||||
ENDIF
|
||||
|
||||
IF VARTYPE(toParentCFG) <> 'O' THEN
|
||||
toParentCFG = NULL
|
||||
ENDIF
|
||||
@@ -1878,12 +1890,16 @@ DEFINE CLASS c_foxbin2prg AS Session
|
||||
ELSE
|
||||
IF tcInputFile_Type == C_FILETYPE_DIRECTORY THEN
|
||||
* INDICÓ DIRECTORIO
|
||||
*lcConfigFile = FULLPATH( 'foxbin2prg.cfg', ADDBS(tc_InputFile) )
|
||||
lcConfigFile = FULLPATH( JUSTFNAME(lcConfigFile), ADDBS(tc_InputFile) )
|
||||
IF ISNULL(loCFG_Manual)
|
||||
*lcConfigFile = FULLPATH( 'foxbin2prg.cfg', ADDBS(tc_InputFile) )
|
||||
lcConfigFile = FULLPATH( JUSTFNAME(lcConfigFile), ADDBS(tc_InputFile) )
|
||||
ENDIF
|
||||
ELSE
|
||||
* INDICÓ ARCHIVO
|
||||
*lcConfigFile = FULLPATH( 'foxbin2prg.cfg', tc_InputFile )
|
||||
lcConfigFile = FULLPATH( JUSTFNAME(lcConfigFile), tc_InputFile )
|
||||
IF ISNULL(loCFG_Manual)
|
||||
*lcConfigFile = FULLPATH( 'foxbin2prg.cfg', tc_InputFile )
|
||||
lcConfigFile = FULLPATH( JUSTFNAME(lcConfigFile), tc_InputFile )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
@@ -1909,6 +1925,11 @@ DEFINE CLASS c_foxbin2prg AS Session
|
||||
IF .n_CFG_Actual > 0 THEN
|
||||
lo_CFG = lo_Configuration.Item(.n_CFG_Actual)
|
||||
.l_CFG_CachedAccess = .T.
|
||||
|
||||
IF NOT ISNULL(loCFG_Manual)
|
||||
* Si le paso un objeto CFG, prevalece sobre el guardado
|
||||
lo_CFG.CopyFrom(@loCFG_Manual)
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
@@ -2687,6 +2708,7 @@ DEFINE CLASS c_foxbin2prg AS Session
|
||||
, lnFileCount, lcErrorInfo, lcErrorFile, lnPCount, laParams(1), lnConversionOption, lnErrorIcon, llError ;
|
||||
, lcOldSetEscape, lcOldOnEscape, llEscKeyRestored ;
|
||||
, loEx AS EXCEPTION ;
|
||||
, loCFG AS CL_CFG OF 'FOXBIN2PRG.PRG' ;
|
||||
, loFSO AS Scripting.FileSystemObject ;
|
||||
, loLang AS CL_LANG OF 'FOXBIN2PRG.PRG' ;
|
||||
, loFrm_Interactive AS frm_interactive OF 'FOXBIN2PRG.PRG' ;
|
||||
@@ -2701,6 +2723,7 @@ DEFINE CLASS c_foxbin2prg AS Session
|
||||
loLang = _SCREEN.o_FoxBin2Prg_Lang
|
||||
loFSO = .o_FSO
|
||||
loWSH = .o_WSH
|
||||
loCFG = NULL
|
||||
lnPCount = 0
|
||||
lcInputFile_Type = ''
|
||||
.l_Error = .F.
|
||||
@@ -2764,8 +2787,20 @@ DEFINE CLASS c_foxbin2prg AS Session
|
||||
.c_ClassOperationType = ''
|
||||
ENDIF
|
||||
|
||||
.c_Foxbin2prg_ConfigFile = EVL( tcCFG_File, .c_Foxbin2prg_ConfigFile )
|
||||
.n_CFG_EvaluateFromParam = (IIF(EMPTY(tcCFG_File), 0, 1))
|
||||
IF VARTYPE(tcCFG_File) = "O"
|
||||
* Validar el objeto
|
||||
loCFG = tcCFG_File
|
||||
IF NOT (loCFG.Class == PROPER('CL_CFG'))
|
||||
ERROR 'CFG object: Invalid class. Please, generate it with get_DirSettings()'
|
||||
ENDIF
|
||||
|
||||
.c_Foxbin2prg_ConfigFile = loCFG
|
||||
.n_CFG_EvaluateFromParam = 1
|
||||
|
||||
ELSE
|
||||
.c_Foxbin2prg_ConfigFile = EVL( tcCFG_File, .c_Foxbin2prg_ConfigFile )
|
||||
.n_CFG_EvaluateFromParam = (IIF(EMPTY(tcCFG_File), 0, 1))
|
||||
ENDIF
|
||||
|
||||
*-- Ajusto la ruta si no es absoluta
|
||||
tc_InputFile = .get_AbsolutePath( tc_InputFile, .c_CurDir )
|
||||
@@ -4035,8 +4070,8 @@ DEFINE CLASS c_foxbin2prg AS Session
|
||||
ENDIF
|
||||
|
||||
IF ISNULL(loCFG) THEN
|
||||
lo_CFG = CREATEOBJECT('CL_CFG')
|
||||
lo_CFG.CopyFrom(THIS)
|
||||
loCFG = CREATEOBJECT('CL_CFG')
|
||||
loCFG.CopyFrom(THIS)
|
||||
ENDIF
|
||||
|
||||
RETURN loCFG
|
||||
|
||||
Reference in New Issue
Block a user