diff --git a/FoxBin2PRGVersionFile.txt b/FoxBin2PRGVersionFile.txt index a0ab304..14c955b 100644 --- a/FoxBin2PRGVersionFile.txt +++ b/FoxBin2PRGVersionFile.txt @@ -3,7 +3,7 @@ Lparameters toUpdateInfo Local lcNote With toUpdateInfo .VersionNumber = 'v1.19.42' - .VersionDate = Date(2015,03,26) + .VersionDate = Date(2015,04,03) .SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip' .Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG' @@ -17,7 +17,7 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg Change History ------------------------------------------------------------- -2015/03/26 v1.19.42 +2015/04/03 v1.19.42 - Feature: Added VFP 9 SP1 runtime validation - Bug Fix: Broken SourceSafe compatibility because an error is thrown when querying for file support (Tuvia Vinitsky) - Bug Fix scx/vcx: Process only one TEXT/ENDTEXT nesting level because TEXT/ENDTEXT can't be nested (Lutz Scheffler) diff --git a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg b/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg index 3aea210..e8ae7fc 100644 --- a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg +++ b/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg @@ -1845,6 +1845,49 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O ENDFUNC + ******************************************************************************************************************************************* + FUNCTION Deberia_SetearElSoporte_DBF_Como_2_CuandoExistaElArhivo_foxbin2prg_cfg_EnDirectorio2NivelesInferior + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; + , loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , loEx AS EXCEPTION + #IF .F. + PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG' + #ENDIF + + TRY + loEx = NULL + loFB2P = THIS.ioFB2P + loFB2P.l_ShowErrors = .F. + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + loFB2P.c_Foxbin2prg_ConfigFile = FULLPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + '..\' ) + STRTOFILE( 'DBF_Conversion_Support:2', loFB2P.c_Foxbin2prg_ConfigFile ) + + loFB2P.c_InputFile = ADDBS(oFXU_LIB.cPathDatosTest) + 'OTRO\otro.vcx' + + + *-- VALORES ESPERADOS + lcSeteo = 'DBF_Conversion_Support:' + leValorEsperado = 2 + + + *-- TEST + loFB2P.EvaluarConfiguracion() + leValor = loFB2P.DBF_Conversion_Support + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ) + ERASE (loFB2P.c_Foxbin2prg_ConfigFile) + + ENDTRY + + ENDFUNC + + ******************************************************************************************************************************************* FUNCTION Deberia_SetearElSoporte_DBF_Como_2_CuandoExistaElArhivo_foxbin2prg_cfg_EnDirectorioPadre LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; @@ -2561,7 +2604,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + 'noexiste' ) loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) - STRTOFILE( 'LBX_Conversion_Support: 1', lcCFG_File ) + *STRTOFILE( 'LBX_Conversion_Support: 0', lcCFG_File ) *-- DATOS DE ENTRADA @@ -2574,7 +2617,8 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() && Carga config.Principal + *loFB2P.EvaluarConfiguracion() && Carga config.Principal + loFB2P.LBX_Conversion_Support = 0 loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() @@ -2582,7 +2626,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() - loFB2P.LBX_Conversion_Support = 0 + *loFB2P.LBX_Conversion_Support = 0 loFB2P.c_InputFile = FORCEPATH( 'test.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + 'otro' ) loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() diff --git a/foxbin2prg.exe b/foxbin2prg.exe index dbf9bed..ade804f 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index bdd5a40..03984f1 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -1587,7 +1587,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION lo_Configuration = .o_Configuration .n_CFG_Actual = 0 .l_CFG_CachedAccess = .F. - lc_CFG_Path = UPPER( JUSTPATH( FULLPATH( lcConfigFile ) ) ) + lc_CFG_Path = UPPER( JUSTPATH( lcConfigFile ) ) lo_CFG = THIS *-- Búsqueda del CFG del PATH indicado en la caché @@ -1630,9 +1630,8 @@ DEFINE CLASS c_foxbin2prg AS SESSION .EvaluarConfiguracion( '', '', '', '', '', '', '', '', laDirs(I), C_FILETYPE_DIRECTORY, @toParentCFG) ENDFOR - IF .n_CFG_Actual > 0 THEN - .l_CFG_CachedAccess = .T. - ENDIF + .l_CFG_CachedAccess = .F. + .n_CFG_Actual = 0 ENDIF ENDIF ENDIF @@ -1648,19 +1647,20 @@ DEFINE CLASS c_foxbin2prg AS SESSION CASE ISNULL( .o_Configuration( .n_CFG_Actual ) ) *-- Si existe una configuración y es NULL, se usa la predeterminada - .n_CFG_Actual = 0 + *.n_CFG_Actual = 0 lo_CFG = THIS ENDCASE IF .l_Main_CFG_Loaded - IF .l_CFG_CachedAccess THEN + IF .l_CFG_CachedAccess AND .n_CFG_Actual > 0 THEN toParentCFG = lo_CFG .writeLog( '> ' + UPPER(loLang.C_USING_THIS_SETTINGS_LOC) + ': ' + tc_InputFile + ' => (' + lo_CFG.c_Foxbin2prg_ConfigFile + ')' ) .writeLog() ELSE lo_CFG = CREATEOBJECT('CL_CFG') lo_Configuration.Add( lo_CFG, lc_CFG_Path ) + .n_CFG_Actual = lo_Configuration.Count IF NOT ISNULL(toParentCFG) lo_CFG.CopyFrom(toParentCFG) @@ -1670,6 +1670,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION ELSE lo_Configuration.Add( NULL, lc_CFG_Path ) && La NULL se carga solo cuando no hay Main_CFG_loaded todavía. + .n_CFG_Actual = lo_Configuration.Count ENDIF *-- NOTA: SOLO LOS QUE NO VENGAN DE PARÁMETROS EXTERNOS DEBEN ASIGNARSE A lo_CFG AQUÍ. @@ -1678,7 +1679,6 @@ DEFINE CLASS c_foxbin2prg AS SESSION .writeLog( '> ' + loLang.C_READING_CFG_VALUES_FROM_DISK_LOC + ':' ) .writeLog( C_TAB + loLang.C_CONFIGFILE_LOC + ' ' + lcConfigFile ) - .n_CFG_Actual = lo_Configuration.Count lo_CFG.c_Foxbin2prg_ConfigFile = lcConfigFile FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 ) @@ -1917,8 +1917,8 @@ DEFINE CLASS c_foxbin2prg AS SESSION .writeLog( '> ' + UPPER(loLang.C_USING_THIS_SETTINGS_LOC) + ':' ) .writeLog( C_TAB + 'n_CFG_Actual: ' + TRANSFORM(.n_CFG_Actual) + ICASE(.n_CFG_Actual=1, ' [MASTER]', ' [SECONDARY]') ) .writeLog( C_TAB + 'l_CFG_CachedAccess: ' + TRANSFORM(.l_CFG_CachedAccess) ) - .writeLog( C_TAB + 'c_Foxbin2prg_ConfigFile: ' + TRANSFORM(EVL(lo_CFG.c_Foxbin2prg_ConfigFile, '(Internal defaults)') ) ) .writeLog( C_TAB + 'tc_InputFile: ' + TRANSFORM(EVL(tc_InputFile,'') ) ) + .writeLog( C_TAB + 'c_Foxbin2prg_ConfigFile: ' + TRANSFORM(EVL(lo_CFG.c_Foxbin2prg_ConfigFile, '(Internal defaults)') ) ) .writeLog( C_TAB + 'n_ShowProgressbar: ' + TRANSFORM(.n_ShowProgressbar) ) .writeLog( C_TAB + 'l_ShowErrors: ' + TRANSFORM(.l_ShowErrors) ) .writeLog( C_TAB + 'l_Recompile: ' + TRANSFORM(.l_Recompile) + ' (' + tcRecompile + ')' )