Changeset: 558 fdbozzo - 13/12/2014 15:29:53:
This commit is contained in:
@@ -292,7 +292,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O
|
||||
ADDPROPERTY( loFB2P_Esperado, 'DBC_Conversion_Support', 1 )
|
||||
ADDPROPERTY( loFB2P_Esperado, 'l_ShowProgress', .T. )
|
||||
ADDPROPERTY( loFB2P_Esperado, 'l_ShowErrors', .T. )
|
||||
ADDPROPERTY( loFB2P_Esperado, 'l_Recompile', .F. )
|
||||
ADDPROPERTY( loFB2P_Esperado, 'l_Recompile', .T. )
|
||||
ADDPROPERTY( loFB2P_Esperado, 'l_NoTimestamps', .T. )
|
||||
ADDPROPERTY( loFB2P_Esperado, 'l_ClearUniqueID', .T. )
|
||||
ADDPROPERTY( loFB2P_Esperado, 'l_Debug', .T. )
|
||||
@@ -2427,7 +2427,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O
|
||||
STORE 0 TO lnCodError
|
||||
lcSeteo = 'LBX_Conversion_Support:'
|
||||
leValorEsperado = 1
|
||||
laCFG_CachedAccess_Esperado(1) = .F.
|
||||
laCFG_CachedAccess_Esperado(1) = .T.
|
||||
laCFG_CachedAccess_Esperado(2) = .T.
|
||||
laCFG_CachedAccess_Esperado(3) = .T.
|
||||
|
||||
@@ -2489,7 +2489,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O
|
||||
STORE 0 TO lnCodError
|
||||
lcSeteo = 'LBX_Conversion_Support:'
|
||||
leValorEsperado = 0
|
||||
laCFG_CachedAccess_Esperado(1) = .F.
|
||||
laCFG_CachedAccess_Esperado(1) = .T.
|
||||
laCFG_CachedAccess_Esperado(2) = .T.
|
||||
laCFG_CachedAccess_Esperado(3) = .T.
|
||||
|
||||
|
||||
295
foxbin2prg.prg
295
foxbin2prg.prg
@@ -401,7 +401,7 @@ LOCAL lnResp, loEx AS EXCEPTION
|
||||
*ENDIF
|
||||
|
||||
*-- En el caso de recibir "BIN2PRG" o "PRG2BIN" en el primer par<61>metro, los invierto.
|
||||
IF INLIST(UPPER(TRANSFORM(tc_InputFile)), 'BIN2PRG', 'PRG2BIN', 'INTERACTIVE') THEN
|
||||
IF INLIST(UPPER(TRANSFORM(tc_InputFile)), 'BIN2PRG', 'PRG2BIN', 'BIN2PRG-INTERACTIVE', 'PRG2BIN-INTERACTIVE', 'INTERACTIVE') THEN
|
||||
pcParamX = tc_InputFile
|
||||
tc_InputFile = tcType
|
||||
tcType = pcParamX
|
||||
@@ -453,7 +453,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
+ [<memberdata name="convertir" display="Convertir"/>] ;
|
||||
+ [<memberdata name="c_fb2prg_exe_version" display="c_FB2PRG_EXE_Version"/>] ;
|
||||
+ [<memberdata name="c_curdir" display="c_CurDir"/>] ;
|
||||
+ [<memberdata name="c_errorlog" display="c_ErrorLog"/>] ;
|
||||
+ [<memberdata name="c_texterr" display="c_TextErr"/>] ;
|
||||
+ [<memberdata name="c_foxbin2prg_fullpath" display="c_Foxbin2prg_FullPath"/>] ;
|
||||
+ [<memberdata name="c_foxbin2prg_configfile" display="c_Foxbin2prg_ConfigFile"/>] ;
|
||||
+ [<memberdata name="c_inputfile" display="c_InputFile"/>] ;
|
||||
@@ -461,6 +461,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
+ [<memberdata name="c_originalfilename" display="c_OriginalFileName"/>] ;
|
||||
+ [<memberdata name="c_outputfile" display="c_OutputFile"/>] ;
|
||||
+ [<memberdata name="c_type" display="c_Type"/>] ;
|
||||
+ [<memberdata name="c_errorlogfile" display="c_ErrorLogFile"/>] ;
|
||||
+ [<memberdata name="c_logfile" display="c_LogFile"/>] ;
|
||||
+ [<memberdata name="c_recompile" display="c_Recompile"/>] ;
|
||||
+ [<memberdata name="c_textlog" display="c_TextLog"/>] ;
|
||||
@@ -545,6 +546,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
+ [<memberdata name="t_inputfile_timestamp" display="t_InputFile_TimeStamp"/>] ;
|
||||
+ [<memberdata name="t_outputfile_timestamp" display="t_OutputFile_TimeStamp"/>] ;
|
||||
+ [<memberdata name="writeerrorlog" display="writeErrorLog"/>] ;
|
||||
+ [<memberdata name="writeerrorlog_flush" display="writeErrorLog_Flush"/>] ;
|
||||
+ [<memberdata name="writelog" display="writeLog"/>] ;
|
||||
+ [<memberdata name="writelog_flush" display="writeLog_Flush"/>] ;
|
||||
+ [</VFPData>]
|
||||
@@ -564,7 +566,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
c_CurDir = ''
|
||||
c_InputFile = ''
|
||||
c_OriginalFileName = ''
|
||||
c_LogFile = ADDBS( SYS(2023) ) + 'FoxBin2Prg.LOG'
|
||||
c_LogFile = ADDBS( SYS(2023) ) + 'FoxBin2Prg_Debug.LOG'
|
||||
c_ErrorLogFile = ADDBS( SYS(2023) ) + 'FoxBin2Prg_Error.LOG'
|
||||
c_TextLog = ''
|
||||
c_OutputFile = ''
|
||||
c_Recompile = '1'
|
||||
@@ -577,7 +580,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
l_ConfigEvaluated = .F.
|
||||
l_Debug = .F.
|
||||
l_Error = .F.
|
||||
c_ErrorLog = ''
|
||||
c_TextErr = ''
|
||||
l_Test = .F.
|
||||
l_ShowErrors = .T.
|
||||
l_ShowProgress = .T.
|
||||
@@ -642,6 +645,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ON ESCAPE ERROR 1799
|
||||
SET ESCAPE ON
|
||||
|
||||
ERASE (THIS.c_ErrorLogFile)
|
||||
ERASE (THIS.c_LogFile)
|
||||
|
||||
THIS.writeLog( REPLICATE( '*', 100 ) )
|
||||
THIS.writeLog( 'FoxBin2Prg INIT' )
|
||||
THIS.writeLog( REPLICATE( '*', 100 ) )
|
||||
@@ -1823,7 +1829,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
.n_ProcessedFiles = 0
|
||||
lnPCount = 0
|
||||
|
||||
*-- Funciona y lee los par<61>metros, pero no le veo un caso de uso claro. 12/12/2014
|
||||
*-- Funciona y lee los par<61>metros, pero no le veo un caso de uso claro, ya que si se eligen
|
||||
*-- varios directorios de proyecto, la compilaci<63>n ser<65> err<72>nea. 12/12/2014
|
||||
*.ReadInputVFPParams( @laParams, @lnPCount )
|
||||
|
||||
*IF lnPCount > 0 THEN
|
||||
@@ -1966,7 +1973,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ERROR 1799
|
||||
|
||||
CASE lnCodError > 0
|
||||
.l_Error = .T.
|
||||
.ejecutar_WriteErrorLog( @toEx )
|
||||
ENDCASE
|
||||
ENDFOR
|
||||
@@ -2007,7 +2013,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ERROR 1799
|
||||
|
||||
CASE lnCodError > 0
|
||||
.l_Error = .T.
|
||||
.ejecutar_WriteErrorLog( @toEx )
|
||||
ENDCASE
|
||||
ENDFOR
|
||||
@@ -2161,7 +2166,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ENDCASE
|
||||
|
||||
.c_LogFile = tc_InputFile + '.LOG'
|
||||
ERASE ( .c_LogFile )
|
||||
|
||||
IF .l_Debug
|
||||
ERASE ( .c_LogFile )
|
||||
ENDIF
|
||||
|
||||
lnCodError = .Convertir( tc_InputFile, toModulo, toEx, .T., tcOriginalFileName )
|
||||
.AvanceDelProceso( loLang.C_END_OF_PROCESS_LOC, 1, 1, 0 )
|
||||
@@ -2174,7 +2182,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
|
||||
CATCH TO toEx
|
||||
lnCodError = toEx.ERRORNO
|
||||
THIS.l_Error = .T.
|
||||
|
||||
IF VARTYPE(loLang) <> 'O' THEN
|
||||
loLang = CREATEOBJECT("CL_LANG","EN")
|
||||
@@ -2202,8 +2209,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ENDIF
|
||||
|
||||
FINALLY
|
||||
lcErrorFile = FORCEPATH('FoxBin2Prg_Error.LOG', SYS(2023) )
|
||||
|
||||
IF VARTYPE(loLang) <> 'O' THEN
|
||||
loLang = CREATEOBJECT("CL_LANG","EN")
|
||||
ENDIF
|
||||
@@ -2219,13 +2224,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
DO CASE
|
||||
CASE lnCodError = 1799 && Conversion Cancelled
|
||||
MESSAGEBOX( loLang.C_CONVERSION_CANCELLED_BY_USER_LOC + '!', 0+48+4096, 'FoxBin2Prg', 60000 )
|
||||
STRTOFILE( THIS.c_ErrorLog, lcErrorFile )
|
||||
loWSH.Run( lcErrorFile, 1, .F. )
|
||||
THIS.writeErrorLog_Flush( )
|
||||
loWSH.Run( THIS.c_ErrorLogFile, 1, .F. )
|
||||
|
||||
CASE THIS.l_Error
|
||||
MESSAGEBOX( loLang.C_END_OF_PROCESS_LOC + '! (' + loLang.C_WITH_ERRORS_LOC + ')', 0+48+4096, 'FoxBin2Prg', 60000 )
|
||||
STRTOFILE( THIS.c_ErrorLog, lcErrorFile )
|
||||
loWSH.Run( lcErrorFile, 1, .F. )
|
||||
THIS.writeErrorLog_Flush( )
|
||||
loWSH.Run( THIS.c_ErrorLogFile, 1, .F. )
|
||||
|
||||
OTHERWISE
|
||||
MESSAGEBOX( loLang.C_END_OF_PROCESS_LOC, 0+64+4096, 'FoxBin2Prg', 60000 )
|
||||
@@ -2233,7 +2238,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ENDCASE
|
||||
|
||||
CASE THIS.l_Debug
|
||||
STRTOFILE( THIS.c_ErrorLog, lcErrorFile )
|
||||
THIS.writeErrorLog_Flush( )
|
||||
|
||||
ENDCASE
|
||||
|
||||
@@ -2287,6 +2292,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
LOCAL lnCodError, lcErrorInfo, laDirFile(1,5), lcExtension, lnFileCount, laFiles(1,1), I ;
|
||||
, ltFilestamp, lcExtA, lcExtB, laEvents(1,1) ;
|
||||
, loLang as CL_LANG OF 'FOXBIN2PRG.PRG' ;
|
||||
, loConversor as C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG' ;
|
||||
, loFSO AS Scripting.FileSystemObject
|
||||
lnCodError = 0
|
||||
|
||||
@@ -2552,17 +2558,18 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
|
||||
IF NOT .l_OptimizeByFilestamp OR .t_InputFile_TimeStamp >= .t_OutputFile_TimeStamp THEN
|
||||
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
|
||||
.o_Conversor.c_InputFile = .c_InputFile
|
||||
.o_Conversor.c_OutputFile = .c_OutputFile
|
||||
.o_Conversor.c_LogFile = .c_LogFile
|
||||
.o_Conversor.l_Debug = .l_Debug
|
||||
.o_Conversor.l_Test = .l_Test
|
||||
.o_Conversor.n_FB2PRG_Version = .n_FB2PRG_Version
|
||||
.o_Conversor.l_MethodSort_Enabled = .l_MethodSort_Enabled
|
||||
.o_Conversor.l_PropSort_Enabled = .l_PropSort_Enabled
|
||||
.o_Conversor.l_ReportSort_Enabled = .l_ReportSort_Enabled
|
||||
.o_Conversor.c_OriginalFileName = .c_OriginalFileName
|
||||
.o_Conversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath
|
||||
loConversor = .o_Conversor
|
||||
loConversor.c_InputFile = .c_InputFile
|
||||
loConversor.c_OutputFile = .c_OutputFile
|
||||
loConversor.c_LogFile = .c_LogFile
|
||||
loConversor.l_Debug = .l_Debug
|
||||
loConversor.l_Test = .l_Test
|
||||
loConversor.n_FB2PRG_Version = .n_FB2PRG_Version
|
||||
loConversor.l_MethodSort_Enabled = .l_MethodSort_Enabled
|
||||
loConversor.l_PropSort_Enabled = .l_PropSort_Enabled
|
||||
loConversor.l_ReportSort_Enabled = .l_ReportSort_Enabled
|
||||
loConversor.c_OriginalFileName = .c_OriginalFileName
|
||||
loConversor.c_Foxbin2prg_FullPath = .c_Foxbin2prg_FullPath
|
||||
*--
|
||||
.AvanceDelProceso( loLang.C_PROCESSING_LOC + ' ' + .c_InputFile + '...', 0, 0, 0 )
|
||||
|
||||
@@ -2570,9 +2577,16 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
BINDEVENT( .o_Conversor, 'AvanceDelProceso', THIS, 'AvanceDelProceso' )
|
||||
ENDIF
|
||||
|
||||
.o_Conversor.Convertir( @toModulo, .F., THIS )
|
||||
loConversor.Convertir( @toModulo, .F., THIS )
|
||||
.writeLog()
|
||||
.writeLog(.o_Conversor.c_TextLog) && Recojo el LOG que haya generado el conversor
|
||||
|
||||
*-- Logueo los errores
|
||||
IF NOT EMPTY(loConversor.c_TextErr) THEN
|
||||
.writeErrorLog( PADR( 'ERRORS FOUND IN FILE [' + .c_InputFile + '] ', 100, '-' ) )
|
||||
.writeErrorLog( loConversor.c_TextErr )
|
||||
.writeErrorLog( )
|
||||
ENDIF
|
||||
ELSE
|
||||
*-- Optimizado: El Origen es anterior al Destino - No hace falta regenerar
|
||||
*.writeLog( '> El archivo de salida [<<THIS.c_OutputFile>>] no se regenera por ser m<>s nuevo que el de entrada.' )
|
||||
@@ -2600,8 +2614,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
IF AEVENTS( laEvents, THIS.o_Conversor ) > 0 THEN
|
||||
UNBINDEVENTS( THIS.o_Conversor )
|
||||
ENDIF
|
||||
loFSO = NULL
|
||||
THIS.o_Conversor = NULL
|
||||
|
||||
STORE NULL TO loConversor, THIS.o_Conversor, loFSO
|
||||
|
||||
*IF lnCodError = 0 OR NOT THIS.l_ShowErrors THEN
|
||||
* THIS.writeLog( REPLICATE('-',100) )
|
||||
@@ -2610,7 +2624,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
RELEASE tc_InputFile, toModulo, toEx, tlRelanzarError, tcOriginalFileName ;
|
||||
, lcErrorInfo, laDirFile, lcExtension, lnFileCount, laFiles, I ;
|
||||
, ltFilestamp, lcExtA, lcExtB ;
|
||||
, loFSO
|
||||
, loConversor, loFSO
|
||||
ENDTRY
|
||||
|
||||
RETURN lnCodError
|
||||
@@ -2916,12 +2930,21 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
LPARAMETERS tcText
|
||||
|
||||
TRY
|
||||
THIS.c_ErrorLog = THIS.c_ErrorLog + EVL(tcText,'') + CR_LF
|
||||
THIS.c_TextErr = THIS.c_TextErr + TTOC(DATETIME(),3) + ' ' + EVL(tcText,'') + CR_LF
|
||||
THIS.l_Error = .T.
|
||||
CATCH
|
||||
ENDTRY
|
||||
ENDPROC
|
||||
|
||||
|
||||
PROCEDURE writeErrorLog_Flush
|
||||
IF NOT EMPTY(THIS.c_TextErr)
|
||||
STRTOFILE( STRCONV(THIS.c_TextErr + CR_LF,9), THIS.c_ErrorLogFile, 1 )
|
||||
ENDIF
|
||||
THIS.c_TextErr = ''
|
||||
ENDPROC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE writeLog
|
||||
LPARAMETERS tcText
|
||||
@@ -2933,7 +2956,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ENDPROC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE writeLog_Flush
|
||||
IF THIS.l_Debug AND NOT EMPTY(THIS.c_TextLog)
|
||||
STRTOFILE( STRCONV(THIS.c_TextLog + CR_LF,9), THIS.c_LogFile, 1 )
|
||||
@@ -3192,6 +3214,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
+ [<memberdata name="sortspecialprops" display="SortSpecialProps"/>] ;
|
||||
+ [<memberdata name="sortpropsandvalues_setandgetscxpropnames" type="method" display="sortPropsAndValues_SetAndGetSCXPropNames"/>] ;
|
||||
+ [<memberdata name="writelog" display="writeLog"/>] ;
|
||||
+ [<memberdata name="writeerrorlog" display="writeErrorLog"/>] ;
|
||||
+ [<memberdata name="c_claseactual" display="c_ClaseActual"/>] ;
|
||||
+ [<memberdata name="c_curdir" display="c_CurDir"/>] ;
|
||||
+ [<memberdata name="c_foxbin2prg_fullpath" display="c_Foxbin2prg_FullPath"/>] ;
|
||||
@@ -3200,8 +3223,10 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
+ [<memberdata name="c_originalfilename" display="c_OriginalFileName"/>] ;
|
||||
+ [<memberdata name="c_outputfile" display="c_OutputFile"/>] ;
|
||||
+ [<memberdata name="c_textlog" display="c_TextLog"/>] ;
|
||||
+ [<memberdata name="c_texterr" display="c_TextErr"/>] ;
|
||||
+ [<memberdata name="c_type" display="c_Type"/>] ;
|
||||
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
||||
+ [<memberdata name="l_error" display="l_Error"/>] ;
|
||||
+ [<memberdata name="l_test" display="l_Test"/>] ;
|
||||
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
||||
+ [<memberdata name="l_propsort_enabled" display="l_PropSort_Enabled"/>] ;
|
||||
@@ -3222,6 +3247,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
, a_SpecialProps_XMLAda(1), a_SpecialProps_XMLFld(1), a_SpecialProps_XMLTbl(1)
|
||||
|
||||
l_Debug = .F.
|
||||
l_Error = .F.
|
||||
l_Test = .F.
|
||||
c_InputFile = ''
|
||||
c_OutputFile = ''
|
||||
@@ -3233,6 +3259,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
c_CurDir = ''
|
||||
c_LogFile = ''
|
||||
c_TextLog = ''
|
||||
c_TextErr = ''
|
||||
l_MethodSort_Enabled = .T.
|
||||
l_PropSort_Enabled = .T.
|
||||
l_ReportSort_Enabled = .T.
|
||||
@@ -4646,6 +4673,17 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
ENDPROC
|
||||
|
||||
|
||||
PROCEDURE writeErrorLog
|
||||
LPARAMETERS tcText
|
||||
|
||||
TRY
|
||||
THIS.c_TextErr = THIS.c_TextErr + EVL(tcText,'') + CR_LF
|
||||
THIS.l_Error = .T.
|
||||
CATCH
|
||||
ENDTRY
|
||||
ENDPROC
|
||||
|
||||
|
||||
ENDDEFINE
|
||||
|
||||
|
||||
@@ -4808,8 +4846,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE createProject
|
||||
LPARAMETERS tcTableOrCursor && 'TABLE' or 'CURSOR'
|
||||
|
||||
CREATE TABLE (THIS.c_OutputFile) ;
|
||||
LOCAL lcCursorName
|
||||
tcTableOrCursor = EVL( tcTableOrCursor, 'TABLE' )
|
||||
lcCursorName = ICASE( tcTableOrCursor = 'TABLE', THIS.c_OutputFile, 'TABLABIN' )
|
||||
|
||||
CREATE &tcTableOrCursor. (lcCursorName) ;
|
||||
( NAME M ;
|
||||
, TYPE C(1) ;
|
||||
, ID N(10) ;
|
||||
@@ -4839,7 +4882,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
, KEY C(32) ;
|
||||
, USER M )
|
||||
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
IF tcTableOrCursor = 'TABLE' THEN
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
ENDIF
|
||||
|
||||
ENDPROC
|
||||
|
||||
@@ -4896,8 +4941,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE createClasslib
|
||||
LPARAMETERS tcTableOrCursor && 'TABLE' or 'CURSOR'
|
||||
|
||||
CREATE TABLE (THIS.c_OutputFile) ;
|
||||
LOCAL lcCursorName
|
||||
tcTableOrCursor = EVL( tcTableOrCursor, 'TABLE' )
|
||||
lcCursorName = ICASE( tcTableOrCursor = 'TABLE', THIS.c_OutputFile, 'TABLABIN' )
|
||||
|
||||
CREATE &tcTableOrCursor. (lcCursorName) ;
|
||||
( PLATFORM C(8) ;
|
||||
, UNIQUEID C(10) ;
|
||||
, TIMESTAMP N(10) ;
|
||||
@@ -4922,7 +4972,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
, RESERVED8 M ;
|
||||
, USER M )
|
||||
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
IF tcTableOrCursor = 'TABLE' THEN
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
ENDIF
|
||||
|
||||
ENDPROC
|
||||
|
||||
@@ -4951,8 +5003,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE createForm
|
||||
LPARAMETERS tcTableOrCursor && 'TABLE' or 'CURSOR'
|
||||
|
||||
CREATE TABLE (THIS.c_OutputFile) ;
|
||||
LOCAL lcCursorName
|
||||
tcTableOrCursor = EVL( tcTableOrCursor, 'TABLE' )
|
||||
lcCursorName = ICASE( tcTableOrCursor = 'TABLE', THIS.c_OutputFile, 'TABLABIN' )
|
||||
|
||||
CREATE &tcTableOrCursor. (lcCursorName) ;
|
||||
( PLATFORM C(8) ;
|
||||
, UNIQUEID C(10) ;
|
||||
, TIMESTAMP N(10) ;
|
||||
@@ -4977,7 +5034,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
, RESERVED8 M ;
|
||||
, USER M )
|
||||
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
IF tcTableOrCursor = 'TABLE' THEN
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
ENDIF
|
||||
|
||||
ENDPROC
|
||||
|
||||
@@ -5006,8 +5065,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE createReport
|
||||
LPARAMETERS tcTableOrCursor && 'TABLE' or 'CURSOR'
|
||||
|
||||
CREATE TABLE (THIS.c_OutputFile) ;
|
||||
LOCAL lcCursorName
|
||||
tcTableOrCursor = EVL( tcTableOrCursor, 'TABLE' )
|
||||
lcCursorName = ICASE( tcTableOrCursor = 'TABLE', THIS.c_OutputFile, 'TABLABIN' )
|
||||
|
||||
CREATE &tcTableOrCursor. (lcCursorName) ;
|
||||
( 'PLATFORM' C(8) ;
|
||||
, 'UNIQUEID' C(10) ;
|
||||
, 'TIMESTAMP' N(10) ;
|
||||
@@ -5084,15 +5148,22 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
, 'SUPEXPR' M ;
|
||||
, 'USER' M )
|
||||
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
IF tcTableOrCursor = 'TABLE' THEN
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
ENDIF
|
||||
|
||||
ENDPROC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE createMenu
|
||||
LPARAMETERS tcTableOrCursor && 'TABLE' or 'CURSOR'
|
||||
|
||||
CREATE TABLE (THIS.c_OutputFile) ;
|
||||
LOCAL lcCursorName
|
||||
tcTableOrCursor = EVL( tcTableOrCursor, 'TABLE' )
|
||||
lcCursorName = ICASE( tcTableOrCursor = 'TABLE', THIS.c_OutputFile, 'TABLABIN' )
|
||||
|
||||
CREATE &tcTableOrCursor. (lcCursorName) ;
|
||||
( 'OBJTYPE' Numeric(2) ;
|
||||
, 'OBJCODE' Numeric(2) ;
|
||||
, 'NAME' MEMO ;
|
||||
@@ -5119,7 +5190,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
, 'SYSRES' Numeric(1) ;
|
||||
, 'RESNAME' MEMORY(4) )
|
||||
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
IF tcTableOrCursor = 'TABLE' THEN
|
||||
USE (THIS.c_OutputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
ENDIF
|
||||
|
||||
ENDPROC
|
||||
|
||||
@@ -6531,7 +6604,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE evaluarDefinicionDeProcedure
|
||||
LPARAMETERS toClase, tnX, tc_Comentario, tcProcName, tcProcType, toObjeto
|
||||
LPARAMETERS toClase, I, tc_Comentario, tcProcName, tcProcType, toObjeto
|
||||
*--------------------------------------------------------------------------------------------------------------
|
||||
#IF .F.
|
||||
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG' ;
|
||||
@@ -6539,12 +6612,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
LOCAL I, lcNombreObjeto, lnObjProc ;
|
||||
LOCAL lcNombreObjeto, lnObjProc ;
|
||||
, loProcedure AS CL_PROCEDURE OF 'FOXBIN2PRG.PRG'
|
||||
|
||||
IF EMPTY(toClase._Fin_Cab)
|
||||
toClase._Fin_Cab = tnX-1
|
||||
toClase._Ini_Cuerpo = tnX
|
||||
toClase._Fin_Cab = I-1
|
||||
toClase._Ini_Cuerpo = I
|
||||
ENDIF
|
||||
|
||||
loProcedure = NULL
|
||||
@@ -6552,6 +6625,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
loProcedure._Nombre = tcProcName
|
||||
loProcedure._ProcType = tcProcType
|
||||
loProcedure._Comentario = tc_Comentario
|
||||
loProcedure._Inicio = I
|
||||
|
||||
*-- Anoto en HiddenMethods y ProtectedMethods seg<65>n corresponda
|
||||
DO CASE
|
||||
@@ -6579,6 +6653,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
*-- Procedimiento de objeto
|
||||
toObjeto = toClase._AddObjects( lnObjProc )
|
||||
toObjeto.add_Procedure( loProcedure )
|
||||
|
||||
*-- Paso el log de errores
|
||||
IF NOT EMPTY(toObjeto.c_TextErr) THEN
|
||||
toClase.writeErrorLog(toObjeto.c_TextErr)
|
||||
toObjeto.c_TextErr = ''
|
||||
ENDIF
|
||||
ENDIF
|
||||
ELSE
|
||||
*-- Procedimiento de clase
|
||||
@@ -6595,7 +6675,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
FINALLY
|
||||
STORE NULL TO loProcedure
|
||||
RELEASE loProcedure, I, lcNombreObjeto, lnObjProc ;
|
||||
, toClase, tnX, tc_Comentario, tcProcName, tcProcType, toObjeto
|
||||
, toClase, tc_Comentario, tcProcName, tcProcType, toObjeto
|
||||
ENDTRY
|
||||
|
||||
RETURN
|
||||
@@ -6681,11 +6761,16 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
*-- Puede haber varias clases definidas
|
||||
* llEXTERNAL_CLASS_Completed = .T.
|
||||
|
||||
*-- Logueo los errores
|
||||
IF NOT EMPTY(loClase.c_TextErr) THEN
|
||||
.writeErrorLog( loClase.c_TextErr )
|
||||
ENDIF
|
||||
ENDCASE
|
||||
|
||||
ENDFOR
|
||||
|
||||
.verificar_CLASES_EXTERNAS( @toModulo, @toFoxBin2Prg )
|
||||
|
||||
ENDIF
|
||||
ENDWITH && THIS
|
||||
|
||||
@@ -6951,11 +7036,14 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
||||
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo de cada clase
|
||||
.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg )
|
||||
|
||||
IF .l_Error
|
||||
.writeLog( '*** ERRORS found - Generation Cancelled' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
.AvanceDelProceso( 'Generating Binary...', 0, lnCodeLines, 1 )
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
|
||||
.createClasslib()
|
||||
|
||||
.escribirArchivoBin( @toModulo, @toFoxBin2Prg )
|
||||
ENDWITH && THIS
|
||||
|
||||
@@ -7298,12 +7386,14 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
||||
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo de cada clase
|
||||
.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toModulo, @toFoxBin2Prg )
|
||||
|
||||
IF .l_Error
|
||||
.writeLog( '*** ERRORS found - Generation Cancelled' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
.AvanceDelProceso( 'Generating Binary...', 0, lnCodeLines, 1 )
|
||||
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
|
||||
.createForm()
|
||||
|
||||
.escribirArchivoBin( @toModulo, @toFoxBin2Prg )
|
||||
ENDWITH && THIS
|
||||
|
||||
@@ -7606,11 +7696,6 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
|
||||
*-- Creo solo la cabecera del proyecto
|
||||
.createProject()
|
||||
|
||||
*-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF
|
||||
*.identificarBloquesDeExclusion( @laCodeLines, .F., @laLineasExclusion, @lnBloquesExclusion )
|
||||
|
||||
@@ -7618,7 +7703,14 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
.AvanceDelProceso( 'Identifying Code Blocks...', 1, 2, 1 )
|
||||
.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toProject )
|
||||
|
||||
IF .l_Error
|
||||
.writeLog( '*** ERRORS found - Generation Cancelled' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
.AvanceDelProceso( 'Generating Binary...', 2, 2, 1 )
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
.createProject()
|
||||
.escribirArchivoBin( @toProject, toFoxBin2Prg )
|
||||
ENDWITH && THIS
|
||||
|
||||
@@ -8404,16 +8496,21 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
||||
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
|
||||
*-- Creo el reporte
|
||||
.createReport()
|
||||
.createReport('CURSOR')
|
||||
|
||||
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo del reporte
|
||||
.AvanceDelProceso( 'Identifying Code Blocks...', 1, 2, 1 )
|
||||
.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toReport )
|
||||
USE IN (SELECT('TABLABIN'))
|
||||
|
||||
IF .l_Error
|
||||
.writeLog( '*** ERRORS found - Generation Cancelled' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
.AvanceDelProceso( 'Generating Binary...', 2, 2, 1 )
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
.createReport()
|
||||
.escribirArchivoBin( @toReport, toFoxBin2Prg )
|
||||
ENDWITH && THIS
|
||||
|
||||
@@ -8842,6 +8939,11 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
|
||||
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo del reporte
|
||||
.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toTable )
|
||||
|
||||
IF .l_Error
|
||||
.writeLog( '*** ERRORS found - Generation Cancelled' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
.escribirArchivoBin( @toTable, @toFoxBin2Prg )
|
||||
ENDWITH && THIS
|
||||
|
||||
@@ -9133,16 +9235,18 @@ DEFINE CLASS c_conversor_prg_a_dbc AS c_conversor_prg_a_bin
|
||||
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
|
||||
*-- Creo la tabla
|
||||
*.createTable()
|
||||
|
||||
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo del reporte
|
||||
.AvanceDelProceso( 'Identifying Code Blocks...', 1, 2, 1 )
|
||||
.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toDatabase )
|
||||
|
||||
IF .l_Error
|
||||
.writeLog( '*** ERRORS found - Generation Cancelled' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
.AvanceDelProceso( 'Generating Binary...', 2, 2, 1 )
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
*.createTable()
|
||||
.escribirArchivoBin( @toDatabase, toFoxBin2Prg )
|
||||
ENDWITH && THIS
|
||||
|
||||
@@ -9313,16 +9417,21 @@ DEFINE CLASS c_conversor_prg_a_mnx AS c_conversor_prg_a_bin
|
||||
C_FB2PRG_CODE = FILETOSTR( .c_InputFile )
|
||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
|
||||
*-- Creo la tabla
|
||||
.createMenu()
|
||||
.createMenu('CURSOR')
|
||||
|
||||
*-- Identifico el inicio/fin de bloque, definici<63>n, cabecera y cuerpo del reporte
|
||||
.AvanceDelProceso( 'Identifying Code Blocks...', 1, 2, 1 )
|
||||
.identificarBloquesDeCodigo( @laCodeLines, lnCodeLines, @laLineasExclusion, lnBloquesExclusion, @toMenu )
|
||||
USE IN (SELECT('TABLABIN'))
|
||||
|
||||
IF .l_Error
|
||||
.writeLog( '*** ERRORS found - Generation Cancelled' )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
.AvanceDelProceso( 'Generating Binary...', 1, 2, 1 )
|
||||
toFoxBin2Prg.doBackup( .F., .T., '', '', '' )
|
||||
.createMenu()
|
||||
.escribirArchivoBin( @toMenu )
|
||||
ENDWITH && THIS
|
||||
|
||||
@@ -11631,6 +11740,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
||||
lcExternalHeader = lcExternalHeader + CR_LF
|
||||
ENDIF
|
||||
|
||||
|
||||
*-- Genero el VC2
|
||||
lnStep = lnStep + 1
|
||||
.AvanceDelProceso( 'Writing VC2...', lnStep, lnClassTotal*lnStepCount, 1 )
|
||||
@@ -11938,6 +12048,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
lcExternalHeader = lcExternalHeader + CR_LF
|
||||
ENDIF
|
||||
|
||||
|
||||
*-- Genero el SC2
|
||||
lnStep = lnStep + 1
|
||||
.AvanceDelProceso( 'Writing SC2...', lnStep, lnClassTotal*lnStepCount, 1 )
|
||||
@@ -13206,15 +13317,17 @@ DEFINE CLASS CL_CUS_BASE AS CUSTOM
|
||||
, RESETTODEFAULT, SAVEASCLASS, SHOWWHATSTHIS, WRITEEXPRESSION, WRITEMETHOD
|
||||
|
||||
_MEMBERDATA = [<VFPData>] ;
|
||||
+ [<memberdata name="c_texterr" display="c_TextErr"/>] ;
|
||||
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
||||
+ [<memberdata name="set_line" display="set_Line"/>] ;
|
||||
+ [<memberdata name="analizarbloque" display="analizarBloque"/>] ;
|
||||
+ [<memberdata name="filetypedescription" display="fileTypeDescription"/>] ;
|
||||
+ [<memberdata name="get_separatedlineandcomment" display="get_SeparatedLineAndComment"/>] ;
|
||||
+ [<memberdata name="totext" display="toText"/>] ;
|
||||
+ [<memberdata name="writeerrorlog" display="writeErrorLog"/>] ;
|
||||
+ [</VFPData>]
|
||||
|
||||
|
||||
c_TextErr = ''
|
||||
l_Debug = .F.
|
||||
|
||||
|
||||
@@ -13268,6 +13381,16 @@ DEFINE CLASS CL_CUS_BASE AS CUSTOM
|
||||
ENDPROC
|
||||
|
||||
|
||||
PROCEDURE writeErrorLog
|
||||
LPARAMETERS tcText
|
||||
|
||||
TRY
|
||||
THIS.c_TextErr = THIS.c_TextErr + EVL(tcText,'') + CR_LF
|
||||
CATCH
|
||||
ENDTRY
|
||||
ENDPROC
|
||||
|
||||
|
||||
ENDDEFINE
|
||||
|
||||
|
||||
@@ -13472,9 +13595,11 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE
|
||||
+ [<memberdata name="add_procedure" display="add_Procedure"/>] ;
|
||||
+ [<memberdata name="add_property" display="add_Property"/>] ;
|
||||
+ [<memberdata name="add_object" display="add_Object"/>] ;
|
||||
+ [<memberdata name="c_texterr" display="c_TextErr"/>] ;
|
||||
+ [<memberdata name="l_objectmetadatainheader" display="l_ObjectMetadataInHeader"/>] ;
|
||||
+ [<memberdata name="_addobject_count" display="_AddObject_Count"/>] ;
|
||||
+ [<memberdata name="_addobjects" display="_AddObjects"/>] ;
|
||||
+ [<memberdata name="_aprocnames" display="_aProcNames"/>] ;
|
||||
+ [<memberdata name="_baseclass" display="_BaseClass"/>] ;
|
||||
+ [<memberdata name="_checked" display="_Checked"/>] ;
|
||||
+ [<memberdata name="_class" display="_Class"/>] ;
|
||||
@@ -13524,8 +13649,9 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE
|
||||
+ [</VFPData>]
|
||||
|
||||
|
||||
DIMENSION _Props[1,2], _AddObjects[1], _Procedures[1]
|
||||
DIMENSION _Props[1,2], _AddObjects[1], _Procedures[1], _aProcNames[1]
|
||||
l_ObjectMetadataInHeader = .F.
|
||||
c_TextErr = ''
|
||||
_Nombre = ''
|
||||
_ObjName = ''
|
||||
_Parent = ''
|
||||
@@ -13582,9 +13708,17 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE
|
||||
#ENDIF
|
||||
|
||||
WITH THIS AS CL_CLASE OF 'FOXBIN2PRG.PRG'
|
||||
*-- Verificaci<63>n de Procedure repetido
|
||||
IF ._Procedure_Count > 0 AND ASCAN( ._aProcNames, toProcedure._Nombre, 1, 0, 0, 1+2+4 ) > 0 THEN
|
||||
.writeErrorLog( '* Duplicated Method "' + toProcedure._Nombre + '" of class "' ;
|
||||
+ ._Nombre + '" in line ' + TRANSFORM(toProcedure._Inicio) )
|
||||
ENDIF
|
||||
|
||||
._Procedure_Count = ._Procedure_Count + 1
|
||||
DIMENSION ._Procedures( ._Procedure_Count )
|
||||
DIMENSION ._aProcNames( ._Procedure_Count )
|
||||
._Procedures( ._Procedure_Count ) = toProcedure
|
||||
._aProcNames( ._Procedure_Count ) = toProcedure._Nombre
|
||||
ENDWITH && THIS
|
||||
ENDPROC
|
||||
|
||||
@@ -13631,6 +13765,7 @@ DEFINE CLASS CL_PROCEDURE AS CL_CUS_BASE
|
||||
_MEMBERDATA = [<VFPData>] ;
|
||||
+ [<memberdata name="add_line" display="add_Line"/>] ;
|
||||
+ [<memberdata name="_comentario" display="_Comentario"/>] ;
|
||||
+ [<memberdata name="_inicio" display="_Inicio"/>] ;
|
||||
+ [<memberdata name="_nombre" display="_Nombre"/>] ;
|
||||
+ [<memberdata name="_procline_count" display="_ProcLine_Count"/>] ;
|
||||
+ [<memberdata name="_proclines" display="_ProcLines"/>] ;
|
||||
@@ -13642,6 +13777,7 @@ DEFINE CLASS CL_PROCEDURE AS CL_CUS_BASE
|
||||
_ProcType = ''
|
||||
_Comentario = ''
|
||||
_ProcLine_Count = 0
|
||||
_Inicio = 0
|
||||
|
||||
|
||||
************************************************************************************************
|
||||
@@ -13668,6 +13804,8 @@ DEFINE CLASS CL_OBJETO AS CL_CUS_BASE
|
||||
_MEMBERDATA = [<VFPData>] ;
|
||||
+ [<memberdata name="add_procedure" display="add_Procedure"/>] ;
|
||||
+ [<memberdata name="add_property" display="add_Property"/>] ;
|
||||
+ [<memberdata name="c_texterr" display="c_TextErr"/>] ;
|
||||
+ [<memberdata name="_aprocnames" display="_aProcNames"/>] ;
|
||||
+ [<memberdata name="_baseclass" display="_BaseClass"/>] ;
|
||||
+ [<memberdata name="_class" display="_Class"/>] ;
|
||||
+ [<memberdata name="_classlib" display="_ClassLib"/>] ;
|
||||
@@ -13687,7 +13825,8 @@ DEFINE CLASS CL_OBJETO AS CL_CUS_BASE
|
||||
+ [<memberdata name="_zorder" display="_ZOrder"/>] ;
|
||||
+ [</VFPData>]
|
||||
|
||||
DIMENSION _Props[1,1], _Procedures[1]
|
||||
DIMENSION _Props[1,1], _Procedures[1], _aProcNames[1]
|
||||
c_TextErr = ''
|
||||
_Nombre = ''
|
||||
_ObjName = ''
|
||||
_Parent = ''
|
||||
@@ -13718,9 +13857,17 @@ DEFINE CLASS CL_OBJETO AS CL_CUS_BASE
|
||||
toProcedure._Nombre = SUBSTR( toProcedure._Nombre, AT( '.', toProcedure._Nombre, OCCURS( '.', ._Nombre) ) + 1 )
|
||||
ENDIF
|
||||
|
||||
*-- Verificaci<63>n de Procedure repetido
|
||||
IF ._Procedure_Count > 0 AND ASCAN( ._aProcNames, toProcedure._Nombre, 1, 0, 0, 1+2+4 ) > 0 THEN
|
||||
.writeErrorLog( '* Duplicated Method "' + toProcedure._Nombre + '" of object "' ;
|
||||
+ ._Nombre + '" of class "' + ._Parent + '" in line ' + TRANSFORM(toProcedure._Inicio) )
|
||||
ENDIF
|
||||
|
||||
._Procedure_Count = ._Procedure_Count + 1
|
||||
DIMENSION ._Procedures( ._Procedure_Count )
|
||||
DIMENSION ._aProcNames( ._Procedure_Count )
|
||||
._Procedures( ._Procedure_Count ) = toProcedure
|
||||
._aProcNames( ._Procedure_Count ) = toProcedure._Nombre
|
||||
ENDWITH && THIS
|
||||
ENDPROC
|
||||
|
||||
|
||||
Reference in New Issue
Block a user