diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index dbd2553..d879a2f 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -143,6 +143,7 @@
* 05/03/2015 FDBOZZO v1.19.42 Mejora: Cambiada la clase de base de FoxBin2Prg de custom a session (Lutz Scheffler)
* 05/03/2015 FDBOZZO v1.19.42 Mejora: Permitir procesar los archivos de un proyecto sin convertir el PJX/2 (Lutz Scheffler)
* 06/03/2015 FDBOZZO v1.19.42 Bug Fix pjx: Permitir usar fin de linea (CR/LF) en los atributos de versión del PJX
+* 10/03/2015 FDBOZZO v1.19.42 Mejora: Mejorar la API para poder obtener información interna para usar en pre o post-procesos externos (Lutz Scheffler)
*
*
*---------------------------------------------------------------------------------------------------
@@ -212,6 +213,7 @@
* 03/03/2015 Lutz Scheffler Mejora v1.19.41: Permitir proceso multi-proyecto (*.PJX, *.PJ2) cuando se especifica "file.pjx", "*" (Agregado en v1.19.42)
* 05/03/2015 Lutz Scheffler Mejora v1.19.41: Cambiar clase de base de FoxBin2Prg de custom a session (Agregado en v1.19.42)
* 05/03/2015 Lutz Scheffler Mejora v1.19.41: Permitir procesar los archivos de un proyecto sin convertir el PJX/2 (Agregado en v1.19.42)
+* 10/03/2015 Lutz Scheffler Mejora v1.19.41: Mejorar la API para poder obtener información interna para usar en pre o post-procesos externos (Agregado en v1.19.42)
*
*
*---------------------------------------------------------------------------------------------------
@@ -564,6 +566,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -597,6 +600,8 @@ DEFINE CLASS c_foxbin2prg AS SESSION
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -654,6 +659,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
+ l_StdOutHabilitado = .T.
l_Main_CFG_Loaded = .F.
n_ExtraBackupLevels = 1
n_ClassTimeStamp = 1130668032 && 2013/11/04 20:00:00
@@ -707,6 +713,11 @@ DEFINE CLASS c_foxbin2prg AS SESSION
ON ESCAPE ERROR 1799
SET ESCAPE ON
+ *-- Funciones para escribir en StdOut
+ DECLARE INTEGER GetStdHandle IN Win32API INTEGER nHandleType
+ DECLARE INTEGER WriteFile IN Win32API INTEGER hFile, STRING @ cBuffer ;
+ , INTEGER nBytes, INTEGER @ nBytes2, INTEGER @ nBytes3
+
ERASE (THIS.c_ErrorLogFile)
ERASE (THIS.c_LogFile)
@@ -2069,7 +2080,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
ENDIF
- CASE lcInputFile_Type == C_FILETYPE_FILE AND '*' $ JUSTSTEM( tc_InputFile )
+ CASE lcInputFile_Type == C_FILETYPE_FILE AND ( '*' $ JUSTSTEM( tc_InputFile ) OR '?' $ JUSTSTEM( tc_InputFile ) )
*-- SE QUIEREN TODOS LOS ARCHIVOS DE UNA EXTENSIÓN
lcFileSpec = FULLPATH( tc_InputFile )
.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
@@ -3281,6 +3292,51 @@ DEFINE CLASS c_foxbin2prg AS SESSION
ENDPROC
+ PROCEDURE errOut
+ *-- DEVOLUCIÓN DE SALIDA A ERROUT (-12)
+ LPARAMETERS tcTexto
+
+ TRY
+ IF THIS.l_StdOutHabilitado
+ LOCAL loException as Exception, lcOutput, lnOutHandle, lnBytesWritten, lnOverlappedIO
+ lcOutput = EVL(tcTexto,'') + CR_LF
+ lnOutHandle = GetStdHandle(-12) && CAPTURAR ERROR DESDE CONSOLA: FOXBIN2PRG.EXE PARAMS 2>&1 | FIND /V ""
+ lnBytesWritten = 0
+ lnOverlappedIO = 0
+ WriteFile(lnOutHandle, @lcOutput, LEN(lcOutput), @lnBytesWritten, @lnOverlappedIO)
+ ENDIF
+
+ CATCH TO loException
+ THIS.l_StdOutHabilitado = .F.
+
+ ENDTRY
+
+ RETURN
+ ENDPROC
+
+
+ PROCEDURE stdOut
+ *-- DEVOLUCIÓN DE SALIDA A STDOUT (-11)
+ LPARAMETERS tcTexto
+
+ TRY
+ IF THIS.l_StdOutHabilitado
+ LOCAL loException as Exception, lcOutput, lnOutHandle, lnBytesWritten, lnOverlappedIO
+ lcOutput = EVL(tcTexto,'') + CR_LF
+ lnOutHandle = GetStdHandle(-11) && CAPTURAR STDOUT DESDE CONSOLA: FOXBIN2PRG.EXE PARAMS | FIND /V ""
+ lnBytesWritten = 0
+ lnOverlappedIO = 0
+ WriteFile(lnOutHandle, @lcOutput, LEN(lcOutput), @lnBytesWritten, @lnOverlappedIO)
+ ENDIF
+
+ CATCH TO loException
+ THIS.l_StdOutHabilitado = .F.
+
+ ENDTRY
+
+ RETURN
+ ENDPROC
+
PROCEDURE writeErrorLog
LPARAMETERS tcText, tnTimestamp
@@ -3291,6 +3347,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
ENDIF
THIS.c_TextErr = THIS.c_TextErr + EVL(tcText,'') + CR_LF
+ THIS.errOut(tcText)
THIS.l_Error = .T.
CATCH
ENDTRY
@@ -3315,6 +3372,7 @@ DEFINE CLASS c_foxbin2prg AS SESSION
ENDIF
THIS.c_TextLog = THIS.c_TextLog + EVL(tcText,'') + CR_LF
+ THIS.stdOut(tcText)
CATCH
ENDTRY
ENDPROC