diff --git a/TESTS/DATOS_READONLY/FB2P_DBF.DB2 b/TESTS/DATOS_READONLY/FB2P_DBF.DB2 index cfb2b3c..430ebe6 100644 --- a/TESTS/DATOS_READONLY/FB2P_DBF.DB2 +++ b/TESTS/DATOS_READONLY/FB2P_DBF.DB2 @@ -2,7 +2,7 @@ * (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! * (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! *-------------------------------------------------------------------------------------------------------------------------------------------------------- -*< FOXBIN2PRG: Version="1.19" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\fb2p_dbf.dbf" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_dbf.dbf" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) * diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 6b224a4..7d8a3e8 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -80,6 +80,7 @@ * 07/03/2014 FDBOZZO v1.19.16 Arreglo bugs: Propiedades y métodos Hidden/Protected que no se generan /// Crash métodos vacíos * 16/03/2014 FDBOZZO v1.19.17 Arreglo bugs frx/lbx: Expresiones con comillas // comment multilínea // Mejora tag2 para Tooltips // Arreglo bugs mnx * 22/03/2014 FDBOZZO v1.19.18 Arreglo bug vcx/scx: Las imágenes no mantienen sus dimensiones programadas y asumen sus dimensiones reales // El comentario a nivel de librería se pierde +* 29/03/2014 FDBOZZO v1.19.19 Nueva característica: Hooks al regenerar DBF para poder realizar procesos intermedios, como la carga de datos del DBF regenerado desde una fuente externa * * *--------------------------------------------------------------------------------------------------- @@ -405,6 +406,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -468,6 +470,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM o_Conversor = NULL o_Frm_Avance = NULL o_FSO = NULL + run_AfterCreateTable = '' c_VC2 = 'VC2' && VCX c_SC2 = 'SC2' && SCX c_PJ2 = 'PJ2' && PJX @@ -6512,7 +6515,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin *-- Identifico el inicio/fin de bloque, definición, cabecera y cuerpo del reporte .identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laBloquesExclusion, lnBloquesExclusion, @toTable ) - .escribirArchivoBin( @toTable ) + .escribirArchivoBin( @toTable, @toFoxBin2Prg ) ENDWITH && THIS @@ -6535,17 +6538,18 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin ******************************************************************************************************************* PROCEDURE escribirArchivoBin - LPARAMETERS toTable + LPARAMETERS toTable, toFoxBin2Prg *-- ----------------------------------------------------------------------------------------------------------- #IF .F. LOCAL toTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG' + LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' #ENDIF TRY LOCAL I, lnCodError, loEx AS EXCEPTION LOCAL loField AS CL_DBF_FIELD OF 'FOXBIN2PRG.PRG' LOCAL loIndex AS CL_DBF_INDEX OF 'FOXBIN2PRG.PRG' - LOCAL lcCreateTable, lcLongDec, lcFieldDef, lcIndex, ldLastUpdate, lcTempDBC + LOCAL lcCreateTable, lcLongDec, lcFieldDef, lcIndex, ldLastUpdate, lcTempDBC, lnDataSessionID, lnSelect LOCAL loDBFUtils AS CL_DBF_UTILS OF 'FOXBIN2PRG.PRG' WITH THIS AS c_conversor_prg_a_dbf OF 'FOXBIN2PRG.PRG' @@ -6553,6 +6557,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin STORE 0 TO lnCodError STORE '' TO lcIndex, lcFieldDef + lnDataSessionID = .DataSessionId ERASE (FORCEEXT(.c_OutputFile, 'DBF')) ERASE (FORCEEXT(.c_OutputFile, 'FPT')) @@ -6612,6 +6617,13 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin lcCreateTable = lcCreateTable + SUBSTR(lcFieldDef,3) + ')' &lcCreateTable. + + IF NOT EMPTY(toFoxBin2Prg.run_AfterCreateTable) + lnSelect = SELECT() + DO (toFoxBin2Prg.run_AfterCreateTable) WITH (lnDataSessionID), (.c_OutputFile), (toTable) + SET DATASESSION TO (lnDataSessionID) && Por las dudas externamente se cambie + SELECT (lnSelect) + ENDIF *-- Regenero los índices FOR EACH loIndex IN toTable._Indexes FOXOBJECT