diff --git a/TESTS/DATOS_READONLY/fb2p_test.vc2 b/TESTS/DATOS_READONLY/fb2p_test.vc2
index fe88ee8..13c10dd 100644
--- a/TESTS/DATOS_READONLY/fb2p_test.vc2
+++ b/TESTS/DATOS_READONLY/fb2p_test.vc2
@@ -2,15 +2,17 @@
* (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_test.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_test.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
-*< OLE: Nombre="cl_olecontrol" Parent="" ObjName="cl_olecontrol" OLEObject="C:\Windows\system32\richtx32.ocx" Checksum="3873290752" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDfG05c8M4BAwAAAAACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABPAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAEoAAAAAAAAABAAAAAIAAAD+////BQAAAAYAAAD+////BwAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9giHw7j9cbELm1BAIcAJQCIUM0EggAAACKDQAA7QYAACFDNBIBAAYAoAAAAAAA//8AAP//AQAAAAAAAAAAAAAATwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABcAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcWhqIFp0dVFoYTtqZGZuW2lhZXRyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACADAAAAFJpZ2h0TWFyZ2luABEAAABODQAAAAcAAAAAAAAAAAAAAAUAAABUZXh0ABQAAABIAAAAAAsAAABPAAAAAAUAAIAAAAAAAAABAAAAAQABAAIACAAAAHtccnRmMVxhbnNpXGRlZmYwe1xmb250dGJse1xmMFxmbmlsXGxlY29udHJvbDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmY2hhcnNldDAgQXJpYWw7fX0NClx2aWV3a2luZDRcdWMxXHBhcmRcbGFuZzMwODJcZnMxOCBPbGVjb250cm9sMQ0KXHBhciB9DQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" />
+
*
DEFINE CLASS cl_commandgroup AS commandgroup && Descripción de cl_CommandGroup
- *< CLASSDATA: Baseclass="commandgroup" Timestamp="2013/12/03 19:51:29" Scale="Pixels" Uniqueid="_3XW0ATDKL" />
+ *< CLASSDATA: Baseclass="commandgroup" Timestamp="" Scale="Pixels" Uniqueid="" />
+
*
*p: una_prop_cmgroup && Con comentario, pero sin valor
*
+
ButtonCount = 2
Height = 66
Name = "cl_commandgroup"
@@ -33,14 +35,39 @@ DEFINE CLASS cl_commandgroup AS commandgroup && Descripci
ENDDEFINE
DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
- *< CLASSDATA: Baseclass="form" Timestamp="2014/01/07 19:58:17" Scale="Pixels" Uniqueid="_3XW0AGC4F" ProjectClassIcon="bmps\container.ico" ClassIcon="bmps\container.ico" />
+ *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="bmps\container.ico" ClassIcon="bmps\container.ico" />
+
+ *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
+ *< OBJECTDATA: ObjPath="Cl_optiongroup1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Cl_commandgroup1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Cl_imagen1" UniqueID="" Timestamp="" />
+ *< OBJECTDATA: ObjPath="Cl_imagen2" UniqueID="" Timestamp="" />
+
+ *
+ *p: chidden && Prop.Hidden
+ *p: cprotected && Prop.Protegida
+ *a: ^ahidden[1,0] && Array Oculto
+ *a: ^aprotected[1,0] && Array Protegido
+ *p: _memberdata && XML Metadata for customizable properties
+ *
+
+ HIDDEN chidden
+ PROTECTED cprotected
Caption = "Form"
+ chidden = && Prop.Hidden
+ cprotected = && Prop.Protegida
DoCreate = .T.
Height = 345
Left = 0
Name = "cl_form"
Top = 0
Width = 570
+ _memberdata =
+
+
+
+
+ && XML Metadata for customizable properties
ADD OBJECT 'Cl_commandgroup1' AS cl_commandgroup WITH ;
BackColor = 255,128,192, ;
@@ -63,7 +90,7 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
Command2.Picture = bmps\carpetacerrada.bmp, ;
Command2.Top = 4, ;
Command2.Width = 104
- *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="commandgroup" UniqueID="_3XW0AX81B" Timestamp="2013/12/03 19:50:23" ZOrder="1000" />
+ *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="commandgroup" />
ADD OBJECT 'Cl_imagen1' AS cl_imagen WITH ;
Height = 34, ;
@@ -73,7 +100,7 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
Stretch = 1, ;
Top = 276, ;
Width = 38
- *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" UniqueID="_3XW0AGC4F" Timestamp="2014/01/07 19:58:17" ZOrder="1100" />
+ *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" />
ADD OBJECT 'Cl_imagen2' AS cl_imagen WITH ;
Height = 34, ;
@@ -83,7 +110,7 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
Stretch = 1, ;
Top = 276, ;
Width = 38
- *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" UniqueID="_3XW0BP1GV" Timestamp="2014/01/07 19:58:17" ZOrder="1200" />
+ *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" />
ADD OBJECT 'Cl_optiongroup1' AS cl_optiongroup WITH ;
BackColor = 0,128,255, ;
@@ -106,7 +133,7 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
Option2.Style = 1, ;
Option2.Top = 8, ;
Option2.Width = 104
- *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="optiongroup" UniqueID="_3XW0AONF4" Timestamp="2013/12/07 02:23:11" ZOrder="900" />
+ *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="optiongroup" />
PROCEDURE Cl_optiongroup1.Init
*-- Prueba para comprobar que respeta espacios y TABS del código
@@ -123,10 +150,12 @@ DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
ENDDEFINE
DEFINE CLASS cl_imagen AS image OLEPUBLIC && otro ole
- *< CLASSDATA: Baseclass="image" Timestamp="2014/01/07 20:06:20" Scale="Pixels" Uniqueid="_3XW0BNCFT" />
+ *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" />
+
*
*m: *un_metodo_de_clase && Para testear si el código se va a la clase cl_form
*
+
Height = 16
Name = "cl_imagen"
Picture = bmps\sobrepostal.bmp
@@ -139,7 +168,8 @@ DEFINE CLASS cl_imagen AS image OLEPUBLIC && otro ole
ENDDEFINE
DEFINE CLASS cl_olecontrol AS olecontrol
- *< CLASSDATA: Baseclass="olecontrol" Timestamp="2013/12/03 20:17:14" Scale="Pixels" Uniqueid="_3XW0BVZ14" OLEObject="C:\Windows\system32\richtx32.ocx" CheckSum="3873290752" />
+ *< CLASSDATA: Baseclass="olecontrol" Timestamp="" Scale="Pixels" Uniqueid="" Nombre="cl_olecontrol" Parent="" ObjName="cl_olecontrol" OLEObject="C:\Windows\system32\richtx32.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDfG05c8M4BAwAAAAACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABPAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAEoAAAAAAAAABAAAAAIAAAD+////BQAAAAYAAAD+////BwAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9giHw7j9cbELm1BAIcAJQCIUM0EggAAACKDQAA7QYAACFDNBIBAAYAoAAAAAAA//8AAP//AQAAAAAAAAAAAAAATwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABcAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcWhqIFp0dVFoYTtqZGZuW2lhZXRyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACADAAAAFJpZ2h0TWFyZ2luABEAAABODQAAAAcAAAAAAAAAAAAAAAUAAABUZXh0ABQAAABIAAAAAAsAAABPAAAAAAUAAIAAAAAAAAABAAAAAQABAAIACAAAAHtccnRmMVxhbnNpXGRlZmYwe1xmb250dGJse1xmMFxmbmlsXGxlY29udHJvbDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmY2hhcnNldDAgQXJpYWw7fX0NClx2aWV3a2luZDRcdWMxXHBhcmRcbGFuZzMwODJcZnMxOCBPbGVjb250cm9sMQ0KXHBhciB9DQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" />
+
Height = 67
Name = "cl_olecontrol"
Width = 131
@@ -147,13 +177,15 @@ DEFINE CLASS cl_olecontrol AS olecontrol
ENDDEFINE
DEFINE CLASS cl_optiongroup AS optiongroup && descripcion
- *< CLASSDATA: Baseclass="optiongroup" Timestamp="2013/12/03 19:43:10" Scale="Pixels" Uniqueid="_3XW0ALVUS" />
+ *< CLASSDATA: Baseclass="optiongroup" Timestamp="" Scale="Pixels" Uniqueid="" />
+
*
*m: *propiedad_de_clase_con_valor_access
*m: *propiedad_de_clase_con_valor_assign
*p: propiedad_de_clase_con_valor && Tiene un valor por defecto
*p: propiedad_de_clase_sin_valor && Una propiedad sin valor para heredar
*
+
ButtonCount = 2
Height = 46
Name = "cl_optiongroup"
@@ -191,7 +223,8 @@ DEFINE CLASS cl_optiongroup AS optiongroup && descripcion
ENDDEFINE
DEFINE CLASS proj_hook AS projecthook
- *< CLASSDATA: Baseclass="projecthook" Timestamp="2014/01/07 20:48:17" Scale="Pixels" Uniqueid="_3YX18LJ09" />
+ *< CLASSDATA: Baseclass="projecthook" Timestamp="" Scale="Pixels" Uniqueid="" />
+
Height = 22
Name = "proj_hook"
Width = 23
diff --git a/TESTS/DATOS_READONLY/fb2p_test.vct b/TESTS/DATOS_READONLY/fb2p_test.vct
index 3b967f1..8950d4b 100644
Binary files a/TESTS/DATOS_READONLY/fb2p_test.vct and b/TESTS/DATOS_READONLY/fb2p_test.vct differ
diff --git a/TESTS/DATOS_READONLY/fb2p_test.vcx b/TESTS/DATOS_READONLY/fb2p_test.vcx
index e77f542..5197858 100644
Binary files a/TESTS/DATOS_READONLY/fb2p_test.vcx and b/TESTS/DATOS_READONLY/fb2p_test.vcx differ
diff --git a/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg b/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg
index 700f69d..a169f6f 100644
--- a/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg
+++ b/TESTS/ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indicado.prg
@@ -234,7 +234,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic
FUNCTION Deberia_analizarAsignacion_TAG__memberdata__EnUnaAsignacion_MultiLine
LOCAL lnCodError, lcMenError, lnCodError_Esperado ;
, lcPropName, lcPropValue, laProps(1,2), lnProp_Count, I, lcTag_I, lcTag_F, lnLen_lcTag_I, lnLen_lcTag_F, lcMemo ;
- , lcValue_Esperado ;
+ , lcValue_Esperado, lcMemberdata ;
, loEx AS EXCEPTION
LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG"
loObj = THIS.icObj
@@ -247,6 +247,12 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic
lnLen_lcTag_I = LEN(lcTag_I)
lnLen_lcTag_F = LEN(lcTag_F)
lnProp_Count = 17
+ lcMemberdata = '' + CR_LF
+ lcMemberdata = lcMemberdata + '' + CR_LF
+ lcMemberdata = lcMemberdata + '' + CR_LF
+ lcMemberdata = lcMemberdata + '' + CR_LF
+ lcMemberdata = lcMemberdata + '' + CR_LF
+ lcMemberdata = lcMemberdata + ''
DIMENSION laProps(lnProp_Count,2)
laProps = ''
laProps( 1,1) = 'Height = 2.73'
@@ -275,7 +281,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic
laProps(12,2) = ''
laProps(13,1) = '_memberdata = '
laProps(13,2) = ''
- laProps(14,1) = ''
+ laProps(14,1) = lcMemberdata
laProps(14,2) = ''
laProps(15,1) = ''
laProps(15,2) = 'XML Metadata for customizable properties'
@@ -284,7 +290,7 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_prg_a_bin__analizarAsignacion_TAG_Indic
*-- DATOS ESPERADOS
STORE 0 TO lnCodError_Esperado
- lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(71,8) + '' + CR_LF + '' + CR_LF + ''
+ lcValue_Esperado = REPLICATE( CHR(1), 517 ) + STR(23 + LEN(lcMemberdata),8) + '' + CR_LF + lcMemberdata + CR_LF + ''
*-- TEST
loObj.analizarAsignacion_TAG_Indicado( @lcPropName, @lcPropValue, @laProps, @lnProp_Count ;
diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index c1474f0..24772af 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -76,6 +76,8 @@
* 21/02/2014 FDBOZZO v1.19.12 Centralizar ZOrder controles en metadata de cabecera de clase para minimizar diferencias / También mover UniqueIDs y Timestamps a metadata
* 26/02/2014 FDBOZZO v1.19.13 Arreglo bug TimeStamp en archivo cfg / ExtraBackupLevels se puede desactivar / Optimizaciones / Casos FoxUnit
* 01/03/2014 FDBOZZO v1.19.14 Arreglo bug regresion cuando no se define ExtraBackupLevels no hace backups / Optimización carga cfg en batch
+* 04/03/2014 FDBOZZO v1.19.15 Arreglo bugs: OLE TX2 legacy / NoTimestamp=0 / DBFs backlink
+* 07/03/2014 FDBOZZO v1.19.16
*
*
*---------------------------------------------------------------------------------------------------
@@ -93,7 +95,9 @@
* 01/01/2014 Fidel Charny REPORTE BUG mnx v1.16: El menú no siempre respeta la posición original LOCATION y a veces se genera mal el MNX (se arregla en v1.17)
* 05/01/2014 Fidel Charny REPORTE BUG mnx v1.17: Se genera cláusula "DO" o llamada Command cuando no Procedure ni Command que llamar // Diferencia de Case en NAME (se arregla en v1.18)
* 20/02/2014 Ryan Harris PROPUESTA DE MEJORA v1.19.11: Centralizar los ZOrder de los controles en metadata de cabecera de la clase para minimizar diferencias
+* 23/02/2014 Ryan Harris BUG cfg v1.19.12: Si se define NoTimestamp en FoxBin2Prg.cfg, se toma el valor opuesto (solucionado en v1.19.13)
* 27/02/2014 BUG REGRESION v1.19.13: Si no se define ExtraBackupLevels no se generan backups (solucionado en v1.19.14)
+* 06/03/2014 Ryan Harris REPORTE BUG vcx/scx v1.19.15: Algunas propiedades no mantienen su visibilidad Hidden/Protected
*
*
*---------------------------------------------------------------------------------------------------
@@ -1879,7 +1883,11 @@ DEFINE CLASS c_conversor_base AS SESSION
ENDTEXT
- tcValue = C_MPROPHEADER + STR( LEN(tcValue), 8 ) + tcValue
+ IF LEN(lcValue) > 255
+ tcValue = C_MPROPHEADER + STR( LEN(tcValue), 8 ) + tcValue
+ ELSE
+ tcValue = CHRTRAN( tcValue, CR_LF, '' )
+ ENDIF
CASE LEFT( tcValue, C_LEN_FB2P_VALUE_I ) == C_FB2P_VALUE_I
*-- Valor especial Fox con cabecera CHR(1): Debo agregarla y desnormalizar el valor
@@ -4058,7 +4066,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
ELSE
*-- Sin comentarios
lcPAM_Name = LOWER( RTRIM( SUBSTR( tcLine, lnPos+1 ), 0, ' ', CHR(9) ) )
- lcItem = lcPAM_Name + IIF(ISALPHA(lcPAM_Name), '', ' ') + CR_LF
+ lcItem = lcPAM_Name + IIF( LEFT(lcPAM_Name,1) $ '^*' , ' ', '') + CR_LF
*-- Separo propiedades y métodos
IF LEFT(lcItem,1) == '*'
@@ -7792,7 +7800,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
TRY
LOCAL lnPropsAndValues_Count, lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd, lnPropsAndComments_Count, I ;
- , lcPropName, lnProtectedItem, lcComentarios
+ , lcPropName, lnProtectedItem, lcComentarios, lnProtected_Count
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
*-- DEFINIR PROPIEDADES ( HIDDEN, PROTECTED, *DEFINED_PAM )
@@ -7800,7 +7808,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
STORE '' TO lcHiddenProp, lcProtectedProp, lcPropsMethodsDefd
.get_PropsAndValuesFrom_PROPERTIES( toRegClass.PROPERTIES, 1, @taPropsAndValues, @lnPropsAndValues_Count, '' )
.get_PropsAndCommentsFrom_RESERVED3( toRegClass.RESERVED3, .T., @taPropsAndComments, @lnPropsAndComments_Count, '' )
- .get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, 0, '' )
+ .get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, @lnProtected_Count, '' )
IF lnPropsAndValues_Count > 0 THEN
*-- Recorro las propiedades (campo Properties) para ir conformando
@@ -7826,6 +7834,23 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
ENDCASE
ENDFOR
+
+ *-- Segunda barrida para las propiedades Hidden/Protected que no estén definidas en Properties
+ FOR I = 1 TO lnProtected_Count
+ IF EMPTY(taProtected(I,1)) OR ASCAN(taPropsAndValues, CHRTRAN( taProtected(I), '^', '' ), 1, 0, 1, 1) > 0
+ LOOP
+ ENDIF
+
+ IF RIGHT( taProtected(I), 1 ) == '^'
+ *-- Propiedad oculta
+ lcHiddenProp = lcHiddenProp + ',' + CHRTRAN( taProtected(I), '^', '' )
+
+ ELSE
+ *-- Propiedad protegida
+ lcProtectedProp = lcProtectedProp + ',' + taProtected(I)
+
+ ENDIF
+ ENDFOR
.write_DEFINED_PAM( @taPropsAndComments, lnPropsAndComments_Count )
diff --git a/ignore.conf b/ignore.conf
index 50a658c..d3633d3 100644
--- a/ignore.conf
+++ b/ignore.conf
@@ -1,7 +1,12 @@
-*.FXP
-*.LNK
-*.SCC
-*.TMP
-*.BAK
-*/FXUResults.*
-*/FXUPersist*.*
\ No newline at end of file
+*.7z
+*.bak
+*.fxp
+*.lnk
+*.log
+*.mpx
+*.scc
+*.spx
+*.tbk
+*.zip
+*/vfp_init.prg
+*/includefilelist.txt