From fe7b495379d6a024615b306e536e40450447e728 Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Fri, 7 Mar 2014 18:52:37 +0100 Subject: [PATCH] Changeset: 189 fdbozzo - 07/03/2014 18:45:46: - Arreglo bug vcx/scx: las propiedades pierden la visibilidad hidden/protected cuando no tienen valor asignado (Ryan Harris) --- TESTS/DATOS_READONLY/fb2p_test.vc2 | 57 ++++++++++++++---- TESTS/DATOS_READONLY/fb2p_test.vct | Bin 9008 -> 15425 bytes TESTS/DATOS_READONLY/fb2p_test.vcx | Bin 2885 -> 4194 bytes ...a_bin__analizarAsignacion_TAG_Indicado.prg | 12 +++- foxbin2prg.prg | 33 ++++++++-- ignore.conf | 19 +++--- 6 files changed, 95 insertions(+), 26 deletions(-) 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 3b967f17459898f61d1cf64a82f78a5850d9b89c..8950d4b275e35a21cb0c3468b1ed22c85e3a3945 100644 GIT binary patch delta 1385 zcmdnscCdnjfx*U+fq{W>qu?jTi3*&XnVEDI)j$G3%#xO0l#7MU7LZwyno~TPkyDh3 zF=g^yxq$lk+|=Bp)S{Hcl0*et1)DIp02d(B&IU<1FEKaORw*$fGbJT8Pe~yqv$!B9 zu@Wfa0TI#1rn;agza%xeBsB$DLjYV5rl%faGsKEy3@eiHSdom)iewZk^kLrN<${_G z^dpcB*Qvl{t1wwxUaFp<8Yv(Us)42z=t10oq75t#wkka{C6Sja4jMYqhB^kZ3XVlZ ziIoce$)!0Z`5-yCb;!~%-9Qx#43qVkr6-$lh)&L65t^JQCNY_VlW()D{5rW}Iv&D>m7bLu@jul*nWjS%?xji5rZQzp)E~^|EvDa&tN7#AoIvrl;l^f?|1c zfOs_yc_XlVt5`c9a%y2Toh&FVGWi;Z4@Gq*x=X>mz@Ze~?tQckJ@ tFntxI7L{bC7Q-V$0hqifNx5poCEdx|%yL5@-9j@zS_;LUnvv425&-U`uuK2| delta 29 lcmX?DvB8a;H$G-qcutZ>%`l3R#VkxHJEf3~m5sZk zuw>;?(^yGS78Y2MQp83Uq-2Hv{pRy3IrTgDbnm%!?me{J*bM=*PAJ_nyya;;tRvsX z>_QK!31JlZO35Ahyv{25-RR!wG`?!aJ<0a2mhNQSJ{0Ot1{!0{Qd=-6$u*)R$>N5O zl&G&HT2kv2YL`E^|1u~j6TL}{3TMOcR{@JP9c?%hnI z^C@H7EC(KObx^^#o&m-%mb4-!;5|4x<-= z!^iJoApDwXKz;j^ADdQfnlELn+fb1B`nym-l*L#y_o7Yo*Q)ge>I1dTo#yf&_TtbQ zB$~sz3>g@SvSCvZo7L;tj9{*K!m%LY55Ny?&2l~AJy@D)Rj7-O*n)zxP|9Bwb|_a{vqXIV-cchV6Y0?upd#n&rMaPSIo_$xE@

9c W1|-He`6x&H' + 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