- Nueva configuración "RemoveZOrderSetFromProps" para quitar la propiedad ZOrderSet cuando se quiere mantener el ZOrder de la clase original siempre y evitar diferencias innecesarias (Ryan Harris)

This commit is contained in:
fdbozzo
2015-04-23 00:52:41 +02:00
parent c35e525d2e
commit 45ce56e72a

View File

@@ -526,7 +526,6 @@ QUIT
DEFINE CLASS c_foxbin2prg AS Session DEFINE CLASS c_foxbin2prg AS Session
_MEMBERDATA = [<VFPData>] ; _MEMBERDATA = [<VFPData>] ;
+ [<memberdata name="addprocessedfile" display="addProcessedFile"/>] ;
+ [<memberdata name="updateprogressbar" display="updateProgressbar"/>] ; + [<memberdata name="updateprogressbar" display="updateProgressbar"/>] ;
+ [<memberdata name="a_processedfiles" display="a_ProcessedFiles"/>] ; + [<memberdata name="a_processedfiles" display="a_ProcessedFiles"/>] ;
+ [<memberdata name="clearprocessedfiles" display="clearProcessedFiles"/>] ; + [<memberdata name="clearprocessedfiles" display="clearProcessedFiles"/>] ;
@@ -578,7 +577,6 @@ DEFINE CLASS c_foxbin2prg AS Session
+ [<memberdata name="unloadprogressbarform" display="unloadProgressbarForm"/>] ; + [<memberdata name="unloadprogressbarform" display="unloadProgressbarForm"/>] ;
+ [<memberdata name="run_aftercreatetable" display="run_AfterCreateTable"/>] ; + [<memberdata name="run_aftercreatetable" display="run_AfterCreateTable"/>] ;
+ [<memberdata name="run_aftercreate_db2" display="run_AfterCreate_DB2"/>] ; + [<memberdata name="run_aftercreate_db2" display="run_AfterCreate_DB2"/>] ;
+ [<memberdata name="lfilemode" display="lFileMode"/>] ;
+ [<memberdata name="l_autoclearprocessedfiles" display="l_AutoClearProcessedFiles"/>] ; + [<memberdata name="l_autoclearprocessedfiles" display="l_AutoClearProcessedFiles"/>] ;
+ [<memberdata name="l_cancelwithesckey" display="l_CancelWithEscKey"/>] ; + [<memberdata name="l_cancelwithesckey" display="l_CancelWithEscKey"/>] ;
+ [<memberdata name="l_cfg_cachedaccess" display="l_CFG_CachedAccess"/>] ; + [<memberdata name="l_cfg_cachedaccess" display="l_CFG_CachedAccess"/>] ;
@@ -586,11 +584,11 @@ DEFINE CLASS c_foxbin2prg AS Session
+ [<memberdata name="l_clearuniqueid" display="l_ClearUniqueID"/>] ; + [<memberdata name="l_clearuniqueid" display="l_ClearUniqueID"/>] ;
+ [<memberdata name="l_cleardbflastupdate" display="l_ClearDBFLastUpdate"/>] ; + [<memberdata name="l_cleardbflastupdate" display="l_ClearDBFLastUpdate"/>] ;
+ [<memberdata name="n_debug" display="n_Debug"/>] ; + [<memberdata name="n_debug" display="n_Debug"/>] ;
+ [<memberdata name="l_dropnullcharsfromcode" display="l_DropNullCharsFromCode"/>] ; + [<memberdata name="l_removenullcharsfromcode" display="l_RemoveNullCharsFromCode"/>] ;
+ [<memberdata name="l_removezordersetfromprops" display="l_RemoveZOrderSetFromProps"/>] ;
+ [<memberdata name="l_error" display="l_Error"/>] ; + [<memberdata name="l_error" display="l_Error"/>] ;
+ [<memberdata name="l_main_cfg_loaded" display="l_Main_CFG_Loaded"/>] ; + [<memberdata name="l_main_cfg_loaded" display="l_Main_CFG_Loaded"/>] ;
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ; + [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
+ [<memberdata name="l_notimestamps" display="l_NoTimestamps"/>] ;
+ [<memberdata name="c_backgroundimage" display="c_BackgroundImage"/>] ; + [<memberdata name="c_backgroundimage" display="c_BackgroundImage"/>] ;
+ [<memberdata name="n_optimizebyfilestamp" display="n_OptimizeByFilestamp"/>] ; + [<memberdata name="n_optimizebyfilestamp" display="n_OptimizeByFilestamp"/>] ;
+ [<memberdata name="l_propsort_enabled" display="l_PropSort_Enabled"/>] ; + [<memberdata name="l_propsort_enabled" display="l_PropSort_Enabled"/>] ;
@@ -682,7 +680,8 @@ DEFINE CLASS c_foxbin2prg AS Session
l_AutoClearProcessedFiles = .T. && Por defecto limpia archivos procesados entre ejecuci<63>n y ejecuci<63>n l_AutoClearProcessedFiles = .T. && Por defecto limpia archivos procesados entre ejecuci<63>n y ejecuci<63>n
l_ProcessFiles = .T. && Por defecto procesa los archivos. En .F. sirve para obtener sus nombres sin reescribirlos. l_ProcessFiles = .T. && Por defecto procesa los archivos. En .F. sirve para obtener sus nombres sin reescribirlos.
l_CancelWithEscKey = .T. l_CancelWithEscKey = .T.
l_DropNullCharsFromCode = .T. l_RemoveNullCharsFromCode = .T.
l_RemoveZOrderSetFromProps = .F.
l_Recompile = .T. l_Recompile = .T.
n_UseClassPerFile = 0 n_UseClassPerFile = 0
l_ClassPerFileCheck = .F. l_ClassPerFileCheck = .F.
@@ -1074,6 +1073,24 @@ DEFINE CLASS c_foxbin2prg AS Session
ENDPROC ENDPROC
PROCEDURE l_RemoveNullCharsFromCode_ACCESS
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
RETURN THIS.l_RemoveNullCharsFromCode
ELSE
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_RemoveNullCharsFromCode, THIS.l_RemoveNullCharsFromCode )
ENDIF
ENDPROC
PROCEDURE l_RemoveZOrderSetFromProps_ACCESS
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
RETURN THIS.l_RemoveZOrderSetFromProps
ELSE
RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_RemoveZOrderSetFromProps, THIS.l_RemoveZOrderSetFromProps )
ENDIF
ENDPROC
PROCEDURE l_ClassPerFileCheck_ACCESS PROCEDURE l_ClassPerFileCheck_ACCESS
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) ) IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
RETURN THIS.l_ClassPerFileCheck RETURN THIS.l_ClassPerFileCheck
@@ -1913,11 +1930,18 @@ DEFINE CLASS c_foxbin2prg AS Session
.writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > RedirectClassPerFileToMain: ' + TRANSFORM(lcValue) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > RedirectClassPerFileToMain: ' + TRANSFORM(lcValue) )
ENDIF ENDIF
CASE LEFT( laConfig(I), 22 ) == LOWER('DropNullCharsFromCode:') CASE LEFT( laConfig(I), 24 ) == LOWER('RemoveNullCharsFromCode:')
lcValue = ALLTRIM( SUBSTR( laConfig(I), 23 ) ) lcValue = ALLTRIM( SUBSTR( laConfig(I), 25 ) )
IF INLIST( lcValue, '0', '1' ) THEN IF INLIST( lcValue, '0', '1' ) THEN
lo_CFG.l_DropNullCharsFromCode = ( TRANSFORM(lcValue) == '1' ) lo_CFG.l_RemoveNullCharsFromCode = ( TRANSFORM(lcValue) == '1' )
.writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > DropNullCharsFromCode: ' + TRANSFORM(lcValue) ) .writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > RemoveNullCharsFromCode: ' + TRANSFORM(lcValue) )
ENDIF
CASE LEFT( laConfig(I), 25 ) == LOWER('RemoveZOrderSetFromProps:')
lcValue = ALLTRIM( SUBSTR( laConfig(I), 26 ) )
IF INLIST( lcValue, '0', '1' ) THEN
lo_CFG.l_RemoveZOrderSetFromProps = ( TRANSFORM(lcValue) == '1' )
.writeLog( C_TAB + JUSTFNAME(lcConfigFile) + ' > RemoveZOrderSetFromProps: ' + TRANSFORM(lcValue) )
ENDIF ENDIF
CASE LEFT( laConfig(I), 9 ) == LOWER('Language:') CASE LEFT( laConfig(I), 9 ) == LOWER('Language:')
@@ -2063,7 +2087,8 @@ DEFINE CLASS c_foxbin2prg AS Session
.writeLog( C_TAB + 'n_ExtraBackupLevels: ' + TRANSFORM(.n_ExtraBackupLevels) ) .writeLog( C_TAB + 'n_ExtraBackupLevels: ' + TRANSFORM(.n_ExtraBackupLevels) )
.writeLog( C_TAB + 'c_BackgroundImage: ' + TRANSFORM(.c_BackgroundImage) ) .writeLog( C_TAB + 'c_BackgroundImage: ' + TRANSFORM(.c_BackgroundImage) )
.writeLog( C_TAB + 'n_OptimizeByFilestamp: ' + TRANSFORM(.n_OptimizeByFilestamp) ) .writeLog( C_TAB + 'n_OptimizeByFilestamp: ' + TRANSFORM(.n_OptimizeByFilestamp) )
.writeLog( C_TAB + 'l_DropNullCharsFromCode: ' + TRANSFORM(.l_DropNullCharsFromCode) ) .writeLog( C_TAB + 'l_RemoveNullCharsFromCode: ' + TRANSFORM(.l_RemoveNullCharsFromCode) )
.writeLog( C_TAB + 'l_RemoveZOrderSetFromProps: ' + TRANSFORM(.l_RemoveZOrderSetFromProps) )
.writeLog( C_TAB + 'l_ClearDBFLastUpdate: ' + TRANSFORM(.l_ClearDBFLastUpdate) ) .writeLog( C_TAB + 'l_ClearDBFLastUpdate: ' + TRANSFORM(.l_ClearDBFLastUpdate) )
.writeLog( C_TAB + 'c_Language: ' + TRANSFORM(.c_Language) ) .writeLog( C_TAB + 'c_Language: ' + TRANSFORM(.c_Language) )
@@ -6807,11 +6832,18 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
PROCEDURE classProps2Memo PROCEDURE classProps2Memo
*-- ARMA EL MEMO DE PROPERTIES CON LAS PROPIEDADES Y SUS VALORES *--------------------------------------------------------------------------------------------------------------
LPARAMETERS toClase * ARMA EL MEMO DE PROPERTIES CON LAS PROPIEDADES Y SUS VALORES
*--------------------------------------------------------------------------------------------------------------
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
* toClase (!@ IN ) Objeto de la Clase
* toFoxBin2Prg (@? IN ) Referencia al objeto principal
*--------------------------------------------------------------------------------------------------------------
LPARAMETERS toClase, toFoxBin2Prg
#IF .F. #IF .F.
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG' LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF #ENDIF
*-- ESTRUCTURA A ANALIZAR: Propiedades normales, con CR codificado (<fb2p_value>) y con CR+LF (<fb2p_value>) *-- ESTRUCTURA A ANALIZAR: Propiedades normales, con CR codificado (<fb2p_value>) y con CR+LF (<fb2p_value>)
@@ -6849,6 +6881,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
*-- ARMO EL MEMO A DEVOLVER *-- ARMO EL MEMO A DEVOLVER
FOR I = 1 TO lnPropsAndValues_Count FOR I = 1 TO lnPropsAndValues_Count
*
* Skip ZOrderSet if configured to
*
IF toFoxBin2Prg.l_RemoveZOrderSetFromProps AND ATC( '.ZOrderSet.', '.' + laPropsAndValues(I, 1) + '.' ) > 0 THEN
LOOP
ENDIF
lcMemo = lcMemo + laPropsAndValues(I,1) + ' = ' + laPropsAndValues(I,2) + CR_LF lcMemo = lcMemo + laPropsAndValues(I,1) + ' = ' + laPropsAndValues(I,2) + CR_LF
ENDFOR ENDFOR
ENDWITH ENDWITH
@@ -7424,7 +7462,17 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
PROCEDURE analyzeCodeBlock_ADD_OBJECT PROCEDURE analyzeCodeBlock_ADD_OBJECT
LPARAMETERS toModulo, toClase, tcLine, I, taCodeLines, tnCodeLines *--------------------------------------------------------------------------------------------------------------
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
* toModulo (!@ IN ) Objeto del Modulo
* toClase (!@ IN ) Objeto de la Clase
* tcLine (!@ IN ) L<>nea de datos en evaluaci<63>n
* taCodeLines (!@ IN ) El array con las l<>neas del c<>digo de texto donde buscar
* I (!@ IN ) N<>mero de l<>nea en evaluaci<63>n
* tnCodeLines (!@ IN ) Cantidad de l<>neas de c<>digo
* toFoxBin2Prg (?@ IN ) Referencia al objeto principal
*--------------------------------------------------------------------------------------------------------------
LPARAMETERS toModulo, toClase, tcLine, I, taCodeLines, tnCodeLines, toFoxBin2Prg
EXTERNAL ARRAY taCodeLines EXTERNAL ARRAY taCodeLines
@@ -7432,6 +7480,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG' LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG' LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
LOCAL toObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG' LOCAL toObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF #ENDIF
TRY TRY
@@ -7541,9 +7590,23 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
IF RIGHT(tcLine, 3) == ', ;' && VALOR INTERMEDIO CON ", ;" IF RIGHT(tcLine, 3) == ', ;' && VALOR INTERMEDIO CON ", ;"
.get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @I ) .get_SeparatedPropAndValue( LEFT(tcLine, LEN(tcLine) - 3), @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @I )
*
* Skip ZOrderSet if configured to
*
IF toFoxBin2Prg.l_RemoveZOrderSetFromProps AND ATC( '.ZOrderSet.', '.' + lcProp + '.' ) > 0 THEN
LOOP
ENDIF
toObjeto.add_Property( @lcProp, @lcValue ) toObjeto.add_Property( @lcProp, @lcValue )
ELSE && VALOR FINAL SIN ", ;" (JUSTO ANTES DEL <END OBJECT>) ELSE && VALOR FINAL SIN ", ;" (JUSTO ANTES DEL <END OBJECT>)
.get_SeparatedPropAndValue( tcLine, @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @I ) .get_SeparatedPropAndValue( tcLine, @lcProp, @lcValue, toClase, @taCodeLines, @tnCodeLines, @I )
*
* Skip ZOrderSet if configured to
*
IF toFoxBin2Prg.l_RemoveZOrderSetFromProps AND ATC( '.ZOrderSet.', '.' + lcProp + '.' ) > 0 THEN
LOOP
ENDIF
toObjeto.add_Property( @lcProp, @lcValue ) toObjeto.add_Property( @lcProp, @lcValue )
ENDIF ENDIF
@@ -7674,14 +7737,29 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
PROCEDURE analyzeCodeBlock_DEFINE_CLASS PROCEDURE analyzeCodeBlock_DEFINE_CLASS
*--------------------------------------------------------------------------------------------------------------
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
* toModulo (!@ IN ) Objeto del Modulo
* toClase (!@ IN ) Objeto de la Clase
* tcLine (!@ IN ) L<>nea de datos en evaluaci<63>n
* taCodeLines (!@ IN ) El array con las l<>neas del c<>digo de texto donde buscar
* I (!@ IN ) N<>mero de l<>nea en evaluaci<63>n
* tnCodeLines (!@ IN ) Cantidad de l<>neas de c<>digo
* tcProcedureAbierto (!v IN ) Nombre del Procedure abierto
* taLineasExclusion (!@ IN ) Array de l<>neas de exclusi<73>n
* tnBloquesExclusion (!@ IN ) Cantidad de l<>neas de exclusi<73>n
* tc_Comentario (!v IN ) Comentario
* toFoxBin2Prg (@? IN ) Referencia al objeto principal
*--------------------------------------------------------------------------------------------------------------
LPARAMETERS toModulo, toClase, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto ; LPARAMETERS toModulo, toClase, tcLine, taCodeLines, I, tnCodeLines, tcProcedureAbierto ;
, taLineasExclusion, tnBloquesExclusion, tc_Comentario , taLineasExclusion, tnBloquesExclusion, tc_Comentario, toFoxBin2Prg
EXTERNAL ARRAY taCodeLines, tnBloquesExclusion, taLineasExclusion EXTERNAL ARRAY taCodeLines, tnBloquesExclusion, taLineasExclusion
#IF .F. #IF .F.
LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG' LOCAL toModulo AS CL_CLASSLIB OF 'FOXBIN2PRG.PRG'
LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG' LOCAL toClase AS CL_CLASE OF 'FOXBIN2PRG.PRG'
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF #ENDIF
LOCAL llBloqueEncontrado LOCAL llBloqueEncontrado
@@ -7772,7 +7850,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
llDEFINED_PAM_Completed = .T. llDEFINED_PAM_Completed = .T.
CASE .analyzeCodeBlock_ADD_OBJECT( @toModulo, @toClase, @tcLine, @I, @taCodeLines, @tnCodeLines ) CASE .analyzeCodeBlock_ADD_OBJECT( @toModulo, @toClase, @tcLine, @I, @taCodeLines, @tnCodeLines, @toFoxBin2Prg )
STORE .T. TO llCLASSCOMMENTS_Completed ; STORE .T. TO llCLASSCOMMENTS_Completed ;
, llCLASS_PROPERTY_Completed ; , llCLASS_PROPERTY_Completed ;
, llPROTECTED_Completed ; , llPROTECTED_Completed ;
@@ -7813,12 +7891,12 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
ERROR (TEXTMERGE(loLang.C_ENDDEFINE_MARKER_NOT_FOUND_LOC)) ERROR (TEXTMERGE(loLang.C_ENDDEFINE_MARKER_NOT_FOUND_LOC))
ENDIF ENDIF
toClase._PROPERTIES = .classProps2Memo( toClase ) toClase._PROPERTIES = .classProps2Memo( @toClase, @toFoxBin2Prg )
toClase._PROTECTED = .hiddenAndProtected_PAM( toClase ) toClase._PROTECTED = .hiddenAndProtected_PAM( @toClase )
toClase._METHODS = .classMethods2Memo( toClase ) toClase._METHODS = .classMethods2Memo( @toClase )
toClase._RESERVED1 = IIF( .c_Type = 'SCX', '', 'Class' ) toClase._RESERVED1 = IIF( .c_Type = 'SCX', '', 'Class' )
toClase._RESERVED2 = IIF( .c_Type = 'VCX' OR PROPER(toClase._Class) == 'Dataenvironment', TRANSFORM( toClase._AddObject_Count + 1 ), '' ) toClase._RESERVED2 = IIF( .c_Type = 'VCX' OR PROPER(toClase._Class) == 'Dataenvironment', TRANSFORM( toClase._AddObject_Count + 1 ), '' )
toClase._RESERVED3 = .defined_PAM2Memo( toClase ) toClase._RESERVED3 = .defined_PAM2Memo( @toClase )
toClase._RESERVED4 = toClase._ClassIcon toClase._RESERVED4 = toClase._ClassIcon
toClase._RESERVED5 = toClase._ProjectClassIcon toClase._RESERVED5 = toClase._ProjectClassIcon
toClase._RESERVED6 = toClase._Scale toClase._RESERVED6 = toClase._Scale
@@ -8373,7 +8451,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
OR .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vac<61>a o solo Comentarios OR .lineIsOnlyCommentAndNoMetadata( @lcLine, @lc_Comentario ) && Excluida, vac<61>a o solo Comentarios
CASE .analyzeCodeBlock_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ; CASE .analyzeCodeBlock_DEFINE_CLASS( @toModulo, @loClase, @lcLine, @taCodeLines, @I, tnCodeLines ;
, @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario ) , @lcProcedureAbierto, @taLineasExclusion, @tnBloquesExclusion, @lc_Comentario, @toFoxBin2Prg )
*-- Puede haber varias clases definidas *-- Puede haber varias clases definidas
* llEXTERNAL_CLASS_Completed = .T. * llEXTERNAL_CLASS_Completed = .T.
@@ -11948,12 +12026,18 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
* tnSort (v? IN ) Indica si se deben ordenar alfab<61>ticamente los objetos y props (1), o no (0) * tnSort (v? IN ) Indica si se deben ordenar alfab<61>ticamente los objetos y props (1), o no (0)
* taPropsAndValues (!@ OUT) Array con las propiedades y comentarios * taPropsAndValues (!@ OUT) Array con las propiedades y comentarios
* tnPropsAndValues_Count (!@ OUT) Cantidad de propiedades * tnPropsAndValues_Count (!@ OUT) Cantidad de propiedades
* tcSortedMemo (@? OUT) Contenido del campo memo ordenado * tcSortedMemo (?@ OUT) Contenido del campo memo ordenado
* toFoxBin2Prg (v! IN ) Referencia al objeto principal
*--------------------------------------------------------------------------------------------------- *---------------------------------------------------------------------------------------------------
LPARAMETERS tcMemo, tnSort, taPropsAndValues, tnPropsAndValues_Count, tcSortedMemo LPARAMETERS tcMemo, tnSort, taPropsAndValues, tnPropsAndValues_Count, tcSortedMemo, toFoxBin2Prg
EXTERNAL ARRAY taPropsAndValues EXTERNAL ARRAY taPropsAndValues
#IF .F.
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF
TRY TRY
LOCAL laItems(1), I, X, lnLenAcum, lnPosEQ, lcPropName, lnLenVal, lcValue, lcMethods, lcLastIncompletePropName LOCAL laItems(1), I, X, lnLenAcum, lnPosEQ, lcPropName, lnLenVal, lcValue, lcMethods, lcLastIncompletePropName
STORE '' TO tcSortedMemo, lcLastIncompletePropName STORE '' TO tcSortedMemo, lcLastIncompletePropName
@@ -12024,6 +12108,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
lcLastIncompletePropName = laItems(I) lcLastIncompletePropName = laItems(I)
LOOP LOOP
ENDIF ENDIF
* Skip ZOrderSet property if configured to
IF toFoxBin2Prg.l_RemoveZOrderSetFromProps AND ATC( '.ZOrderSet.', '.' + lcLastIncompletePropName + LEFT( laItems(I), lnPosEQ - 2 ) + '.' ) > 0 THEN
lcLastIncompletePropName = ''
LOOP
ENDIF
X = X + 1 X = X + 1
DIMENSION taPropsAndValues(X,2) DIMENSION taPropsAndValues(X,2)
@@ -12468,7 +12558,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
*-- Analyze and count line methods, get method names and consolidate block code *-- Analyze and count line methods, get method names and consolidate block code
FOR I = 1 TO lnLineCount FOR I = 1 TO lnLineCount
IF toFoxBin2Prg.l_DropNullCharsFromCode IF toFoxBin2Prg.l_RemoveNullCharsFromCode
laLine(I) = CHRTRAN( laLine(I), C_NULL_CHAR, '' ) laLine(I) = CHRTRAN( laLine(I), C_NULL_CHAR, '' )
ENDIF ENDIF
@@ -12640,10 +12730,17 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
PROCEDURE write_ADD_OBJECTS_WithProperties PROCEDURE write_ADD_OBJECTS_WithProperties
LPARAMETERS toRegObj, tcCodigo *---------------------------------------------------------------------------------------------------
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
* toRegObj (v! IN ) Objeto de registro
* tcCodigo (@? OUT) Codigo generado
* toFoxBin2Prg (v! IN ) Referencia al objeto principal
*---------------------------------------------------------------------------------------------------
LPARAMETERS toRegObj, tcCodigo, toFoxBin2Prg
#IF .F. #IF .F.
LOCAL toRegObj AS CL_OBJETO OF 'FOXBIN2PRG.PRG' LOCAL toRegObj AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
#ENDIF #ENDIF
TRY TRY
@@ -12651,7 +12748,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG' WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
*-- Defino los objetos a cargar *-- Defino los objetos a cargar
.get_PropsAndValuesFrom_PROPERTIES( toRegObj.PROPERTIES, 1, @laPropsAndValues, @lnPropsAndValues_Count, @lcMemo ) .get_PropsAndValuesFrom_PROPERTIES( toRegObj.PROPERTIES, 1, @laPropsAndValues, @lnPropsAndValues_Count, @lcMemo, @toFoxBin2Prg )
lcMemo = .set_MultilineMemoWithAddObjectProperties( @laPropsAndValues, @lnPropsAndValues_Count, C_TAB + C_TAB, .T. ) lcMemo = .set_MultilineMemoWithAddObjectProperties( @laPropsAndValues, @lnPropsAndValues_Count, C_TAB + C_TAB, .T. )
IF '.' $ toRegObj.PARENT IF '.' $ toRegObj.PARENT
@@ -12757,7 +12854,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
PROCEDURE write_CLASS_PROPERTIES PROCEDURE write_CLASS_PROPERTIES
LPARAMETERS toRegClass, taPropsAndValues, taPropsAndComments, taProtected ; LPARAMETERS toRegClass, taPropsAndValues, taPropsAndComments, taProtected ;
, tnPropsAndValues_Count, tnPropsAndComments_Count, tnProtected_Count, tcCodigo , tnPropsAndValues_Count, tnPropsAndComments_Count, tnProtected_Count, tcCodigo, toFoxBin2Prg
EXTERNAL ARRAY taPropsAndValues, taPropsAndComments EXTERNAL ARRAY taPropsAndValues, taPropsAndComments
@@ -12771,7 +12868,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
DIMENSION taProtected(1) DIMENSION taProtected(1)
STORE '' TO lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd STORE '' TO lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd
STORE 0 TO tnPropsAndValues_Count, tnPropsAndComments_Count, tnProtected_Count STORE 0 TO tnPropsAndValues_Count, tnPropsAndComments_Count, tnProtected_Count
.get_PropsAndValuesFrom_PROPERTIES( toRegClass.PROPERTIES, 1, @taPropsAndValues, @tnPropsAndValues_Count, '' ) .get_PropsAndValuesFrom_PROPERTIES( toRegClass.PROPERTIES, 1, @taPropsAndValues, @tnPropsAndValues_Count, '', @toFoxBin2Prg )
.get_PropsAndCommentsFrom_RESERVED3( toRegClass.RESERVED3, .T., @taPropsAndComments, @tnPropsAndComments_Count, '' ) .get_PropsAndCommentsFrom_RESERVED3( toRegClass.RESERVED3, .T., @taPropsAndComments, @tnPropsAndComments_Count, '' )
.get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, @tnProtected_Count, '' ) .get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, @tnProtected_Count, '' )
@@ -13628,7 +13725,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
.updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) .updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Properties...', lnStep, lnClassTotal*lnStepCount, 1 )
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected ; .write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected ;
, @lnPropsAndValues_Count, @lnPropsAndComments_Count, @lnProtected_Count, @lcCodigo ) , @lnPropsAndValues_Count, @lnPropsAndComments_Count, @lnProtected_Count, @lcCodigo, @toFoxBin2Prg )
ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico (del SCAN original) ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico (del SCAN original)
@@ -13636,7 +13733,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
.updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) .updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 )
FOR I = 1 TO lnObjCount FOR I = 1 TO lnObjCount
.write_ADD_OBJECTS_WithProperties( laObjs(I,1), @lcCodigo ) .write_ADD_OBJECTS_WithProperties( laObjs(I,1), @lcCodigo, @toFoxBin2Prg )
ENDFOR ENDFOR
@@ -13972,7 +14069,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
.updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) .updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Properties...', lnStep, lnClassTotal*lnStepCount, 1 )
.write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected ; .write_CLASS_PROPERTIES( @loRegClass, @laPropsAndValues, @laPropsAndComments, @laProtected ;
, @lnPropsAndValues_Count, @lnPropsAndComments_Count, @lnProtected_Count, @lcCodigo ) , @lnPropsAndValues_Count, @lnPropsAndComments_Count, @lnProtected_Count, @lcCodigo, @toFoxBin2Prg )
ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico de objetos (del SCAN original) ASORT(laObjs, 3, -1, 0, 0) && Orden Alfab<61>tico de objetos (del SCAN original)
@@ -13980,7 +14077,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
.updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 ) .updateProgressbar( 'Processing Class ' + lcObjName + ' > Writing Obtects with Properties...', lnStep, lnClassTotal*lnStepCount, 1 )
FOR I = 1 TO lnObjCount FOR I = 1 TO lnObjCount
.write_ADD_OBJECTS_WithProperties( laObjs(I,1), @lcCodigo ) .write_ADD_OBJECTS_WithProperties( laObjs(I,1), @lcCodigo, @toFoxBin2Prg )
ENDFOR ENDFOR
@@ -25005,6 +25102,8 @@ DEFINE CLASS CL_CFG AS CUSTOM
l_ClearDBFLastUpdate = NULL l_ClearDBFLastUpdate = NULL
n_OptimizeByFilestamp = NULL n_OptimizeByFilestamp = NULL
l_RedirectClassPerFileToMain = NULL l_RedirectClassPerFileToMain = NULL
l_RemoveNullCharsFromCode = NULL
l_RemoveZOrderSetFromProps = NULL
n_UseClassPerFile = NULL n_UseClassPerFile = NULL
l_ClassPerFileCheck = NULL l_ClassPerFileCheck = NULL
n_ExtraBackupLevels = NULL n_ExtraBackupLevels = NULL
@@ -25046,6 +25145,8 @@ DEFINE CLASS CL_CFG AS CUSTOM
.l_ClearDBFLastUpdate = toParentCFG.l_ClearDBFLastUpdate .l_ClearDBFLastUpdate = toParentCFG.l_ClearDBFLastUpdate
.n_OptimizeByFilestamp = toParentCFG.n_OptimizeByFilestamp .n_OptimizeByFilestamp = toParentCFG.n_OptimizeByFilestamp
.l_RedirectClassPerFileToMain = toParentCFG.l_RedirectClassPerFileToMain .l_RedirectClassPerFileToMain = toParentCFG.l_RedirectClassPerFileToMain
.l_RemoveNullCharsFromCode = toParentCFG.l_RemoveNullCharsFromCode
.l_RemoveZOrderSetFromProps = toParentCFG.l_RemoveZOrderSetFromProps
.n_UseClassPerFile = toParentCFG.n_UseClassPerFile .n_UseClassPerFile = toParentCFG.n_UseClassPerFile
.l_ClassPerFileCheck = toParentCFG.l_ClassPerFileCheck .l_ClassPerFileCheck = toParentCFG.l_ClassPerFileCheck
.n_ExtraBackupLevels = toParentCFG.n_ExtraBackupLevels .n_ExtraBackupLevels = toParentCFG.n_ExtraBackupLevels