From 76aabde72df0957d51ba71cdaeff7b7a77417e03 Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Mon, 24 Mar 2014 21:55:32 +0100 Subject: [PATCH] =?UTF-8?q?Changeset:=20215=20fdbozzo=20-=2022/03/2014=201?= =?UTF-8?q?1:41:59:=20-=20Arreglo=20bug=20vcx/scx:=20Los=20comentarios=20a?= =?UTF-8?q?=20nivel=20de=20librer=C3=ADa=20no=20se=20mantienen=20(Ryan=20H?= =?UTF-8?q?arris)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TESTS/DATOS_READONLY/fb2p_frm_1.sct | Bin 15163 -> 14890 bytes TESTS/DATOS_READONLY/fb2p_frm_1.scx | Bin 4303 -> 4194 bytes TESTS/DATOS_READONLY/fb2p_test.vct | Bin 15425 -> 16290 bytes TESTS/DATOS_READONLY/fb2p_test.vcx | Bin 4194 -> 4412 bytes foxbin2prg.prg | 87 ++++++++++++++++++++++++---- 5 files changed, 75 insertions(+), 12 deletions(-) diff --git a/TESTS/DATOS_READONLY/fb2p_frm_1.sct b/TESTS/DATOS_READONLY/fb2p_frm_1.sct index f9153415c027dc2835015ee1371d934e1cdf7803..e948eac5da330fec27feb7a53bc277613b487b23 100644 GIT binary patch delta 591 zcmdm8wyK1Mfx${^lDYUsg~yB&6<8-TGs#Fv>gmM*QD$CpPH9SNOhFNlm06IOqn9yR zpGkhRIg8l@#UYq!!0l6zFBx z*@Vwsq$h@^CN00BpeSE2!_9VztAMTqnrwDzePwcfN@}rQhMyfa1?8D}#zu(+nR*#v z_P4pU44|%+an8?8%_~VP%FI{rO-wBYIzu5PHAlfMzbID`szwb-O-ialaA}frPGWJY mLK;wwf>Lr$JcwbatpruBgrpo{q=Hgfl2Ji?T2XGip%MUwuesR( delta 698 zcmZ2gvb&6ffx+6Efq{W>qu?jTi3*&PnVDoJhciiRj$m?NQejIjEh^400?7k0Dv#Y6 zEN3`5ok^C7k!^AtlU%)#0WX(NYFdect%4zt>5-b5o&n-mTJUm(XQq^7fF+E0xg2vc z6N`ZyrPRFS($wOT#9}30E~nD8wA3Qs{FGGxvecrY%#>7+a$YX~qLkDkkYb=3Fxw@w zC^fkxGd~X~2($*`kl_5%`l4iz7Py&uDM@L(T&@+#IiGf@6^NOD*m1G~ zixe9R1K4;U76l;zpr9uZgETN`0x{44F*Xp7(P;847Dqz^}T;Ew3ohL8n zzX#;B2{ss*<*7|7gU@Vt0iz7~+L$TVhbk(=8QZ_wavePM7 z@5ZvSK`*AcT_~D7$5?iqhi+xeLP4Cv-RoG7*(<$9Ac zxW2b5di@=6G8GL9I5_;J~FJb#AyTSKiY24rHiuC^yvK-FwNeC7894eO& zgzCcA?P+h)y`8aM(n1sIY|5D^gx-%%PK1ZGd?c%Bx^Bec30*U&DTn+a9Zyr3jPLHXuuuHwI;2OFT0;>iUzZBo(OANG?EC1 zBYN_a=S9~H@(J)A_?c?e0e*6WSuB}z&7yiT8V?(p9x-Y+@_z6+I8HS`Ce>cmOp|7( zUJz~HBhP~~;3Czk1N>ywEF#Tj*NRbJBF}-}z&WbdW>IN&*8S2#TtvPB?t>>( z6NS39HH%5Jr46F#ALQp=WULPif}o+A#iiLT8oY%3 z1gzS~*k%wkRI`LMTh%MZ_8|{|I2fT?5JS~0Da{_y;LbkAHh@83fS{q88Pd$`7h|)? zyTL*51=WHWs%EA%Gd78lHu5+qgO929)ys@M1b#v_8-`gVZWy{2zWa(8^$@u?lA zfuNz9S#oD(8hjXe2Alv3RAT``HA~5z8SZN`+W}|Xv-LH!=y~x{u4yLH~tOm7xs@YDt zvzs*d9`a+*wS}=E5HwV?wA|UdG_}51w9VeEO=d|7Zs(nQi6hlpdu?AuAo!7E_Ib&>g>uzl8YsO5*%0;b`H!TiDZ^34E{Sr1qX7B#W{Q#xYc!jRWF)4+I)qNp4DuFJb0&%Zf5&S8aEtQzS>7G zYnD-}I5Oise!69r4XaWxY{nITy<+GU0~dfNd~|M9`pjH)LZ0!_@%eN!CqCboRlWWS zn8m6Fg>lXA{Gt(aL{xRk`m-6c4BN0a8997*UcjR1beM4GOP)@TLmz0MtI!7<=(sj~ zO9MR#eOm)P1%0@Io`yc^qYq+yw4LH#VdI`}ZdLk!6VXl1@s|*>N4^;y-4m&+rY_Hn zcdw2N6-qgC$c}7}Zyt(f6)RR!6jjY6k||Z`AcJ+_Jne5IF5o}X-#~3$`cNF*AgP-ZGVHsh!tw|35#TT2 zH1)y>(`49~^YDk-2mTQ_3LK~2)d*uf&ck05<-I|&2#X~%8C8jX`k8R*0j~%8fv>68 zM8?!oZn^|NEl0GyVS5i^bbF(b_i)ztf()r?KC; Gi{Ak52XUDI diff --git a/TESTS/DATOS_READONLY/fb2p_test.vct b/TESTS/DATOS_READONLY/fb2p_test.vct index 8950d4b275e35a21cb0c3468b1ed22c85e3a3945..a112e2590eb00bb99f1e2123f9333f669d80e23e 100644 GIT binary patch delta 241 zcmX?Dv8bM%fx&(e0|Ue4jap(G6&^EAUN6eNnVreXYH}_Id$_1`er{@BNn%lEzCuA! zW?ph;L1K;~P&p$ITVj<|@GZ?L$;`>jOHEWLNGt*pMfpjIMGDFJc?u;(iMa)d#fpD>2nza Oxgg+W57c4BCw delta 49 zcmdm^^hkl#fRCA7b|Y&F%VYs&p2=(Z_$RlpoCebc0&J60SR*Fi;L_aul(mM7Q3?QQ C?hgb2 diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 8d7bc63..6b224a4 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -79,7 +79,7 @@ * 04/03/2014 FDBOZZO v1.19.15 Arreglo bugs: OLE TX2 legacy / NoTimestamp=0 / DBFs backlink * 07/03/2014 FDBOZZO v1.19.16 Arreglo bugs: Propiedades y métodos Hidden/Protected que no se generan /// Crash métodos vacíos * 16/03/2014 FDBOZZO v1.19.17 Arreglo bugs frx/lbx: Expresiones con comillas // comment multilínea // Mejora tag2 para Tooltips // Arreglo bugs mnx -* 22/03/2014 FDBOZZO v1.19.18 Arreglo bug scx: Las imágenes no mantienen sus dimensiones programadas y asumen sus dimensiones reales +* 22/03/2014 FDBOZZO v1.19.18 Arreglo bug vcx/scx: Las imágenes no mantienen sus dimensiones programadas y asumen sus dimensiones reales // El comentario a nivel de librería se pierde * * *--------------------------------------------------------------------------------------------------- @@ -102,7 +102,8 @@ * 06/03/2014 Ryan Harris REPORTE BUG vcx/scx v1.19.15: Algunas propiedades no mantienen su visibilidad Hidden/Protected // Orden de properties defTop,defLeft,etc * 10/03/2014 Ryan Harris REPORTE BUG frx/lbx v1.19.16: Las expresiones con comillas corrompen el fx2/lb2 // La propiedad Comment se pierde si es multilínea (solucionado en v1.19.17) * 10/03/2014 Ryan Harris REPORTE BUG mnx v1.19.16: Al usar comentarios multilínea en las opciones, se corrompe el MN2 y el MNX regenerado (solucionado en v1.19.17) -* 20/03/2014 Arturo Ramos REPORTE BUG scx v1.19.17: Las imágenes no mantienen sus dimensiones programadas y asumen sus dimensiones reales (Solucionado en v1.19.18) +* 20/03/2014 Arturo Ramos REPORTE BUG vcx/scx v1.19.17: Las imágenes no mantienen sus dimensiones programadas y asumen sus dimensiones reales (Solucionado en v1.19.18) +* 24/03/2014 Ryan Harris REPORTE BUG vcx/scx v1.19.17: El comentario a nivel de librería se pierde (Solucionado en v1.19.18) * * *--------------------------------------------------------------------------------------------------- @@ -158,6 +159,8 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb #DEFINE C_LEN_END_OBJECT_I LEN(C_END_OBJECT_I) #DEFINE C_FB2PRG_META_I '*< FOXBIN2PRG:' #DEFINE C_FB2PRG_META_F '/>' +#DEFINE C_LIBCOMMENT_I '*< LIBCOMMENT:' +#DEFINE C_LIBCOMMENT_F '/>' #DEFINE C_DEFINE_CLASS 'DEFINE CLASS' #DEFINE C_ENDDEFINE 'ENDDEFINE' #DEFINE C_TEXT 'TEXT' @@ -2637,12 +2640,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base #IF .F. LOCAL THIS AS c_conversor_prg_a_bin OF 'FOXBIN2PRG.PRG' #ENDIF + _MEMBERDATA = [] ; + [] ; + [] ; + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -2959,6 +2964,26 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDPROC + + PROCEDURE analizarBloque_LIBCOMMENT + *------------------------------------------------------ + *-- Analiza el bloque * + *------------------------------------------------------ + LPARAMETERS toModulo, tcLine, taCodeLines, I, tnCodeLines + + LOCAL llBloqueEncontrado, laPropsAndValues(1,2), lnPropsAndValues_Count + + IF LEFT( tcLine, LEN(C_LIBCOMMENT_I) ) == C_LIBCOMMENT_I + llBloqueEncontrado = .T. + + *-- Metadatos del módulo + toModulo._Comment = ALLTRIM( STREXTRACT( tcLine, C_LIBCOMMENT_I, C_LIBCOMMENT_F ) ) + ENDIF + + RETURN llBloqueEncontrado + ENDPROC + + ******************************************************************************************************************* PROCEDURE createProject @@ -3080,15 +3105,22 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ******************************************************************************************************************* PROCEDURE createClasslib_RecordHeader + LPARAMETERS toModulo + + #IF .F. + LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG' + #ENDIF INSERT INTO TABLABIN ; ( PLATFORM ; , UNIQUEID ; - , RESERVED1 ) ; + , RESERVED1 ; + , RESERVED7 ) ; VALUES ; ( 'COMMENT' ; , 'Class' ; - , 'VERSION = 3.00' ) + , 'VERSION = 3.00' ; + , toModulo._Comment ) ENDPROC @@ -3128,15 +3160,22 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ******************************************************************************************************************* PROCEDURE createForm_RecordHeader + LPARAMETERS toModulo + + #IF .F. + LOCAL toModulo AS CL_MODULO OF 'FOXBIN2PRG.PRG' + #ENDIF INSERT INTO TABLABIN ; ( PLATFORM ; , UNIQUEID ; - , RESERVED1 ) ; + , RESERVED1 ; + , RESERVED7 ) ; VALUES ; ( 'COMMENT' ; , 'Screen' ; - , 'VERSION = 3.00' ) + , 'VERSION = 3.00' ; + , toModulo._Comment ) ENDPROC @@ -4611,7 +4650,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base TRY LOCAL I, loEx AS EXCEPTION ; - , llFoxBin2Prg_Completed, llOLE_DEF_Completed, llINCLUDE_SCX_Completed ; + , llFoxBin2Prg_Completed, llOLE_DEF_Completed, llINCLUDE_SCX_Completed, llLIBCOMMENT_Completed ; , lc_Comentario, lcProcedureAbierto, lcLine ; , loClase AS CL_CLASE OF 'FOXBIN2PRG.PRG' @@ -4638,6 +4677,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base CASE NOT llFoxBin2Prg_Completed AND .analizarBloque_FoxBin2Prg( toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) llFoxBin2Prg_Completed = .T. + CASE NOT llLIBCOMMENT_Completed AND .analizarBloque_LIBCOMMENT( toModulo, @lcLine, @taCodeLines, @I, tnCodeLines ) + llLIBCOMMENT_Completed = .T. + CASE NOT llOLE_DEF_Completed AND .analizarBloque_OLE_DEF( @toModulo, @lcLine, @taCodeLines ; , @I, tnCodeLines, @lcProcedureAbierto ) *-- Puede haber varios @@ -4824,7 +4866,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin loFSO = .oFSO *-- Creo el registro de cabecera - .createClasslib_RecordHeader() + .createClasslib_RecordHeader( toModulo ) *-- Recorro las CLASES @@ -5115,7 +5157,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin WITH THIS AS c_conversor_prg_a_scx OF 'FOXBIN2PRG.PRG' *-- Creo el registro de cabecera - .createForm_RecordHeader() + .createForm_RecordHeader( toModulo ) *-- El SCX tiene el INCLUDE en el primer registro IF NOT EMPTY(toModulo._includeFile) @@ -8702,6 +8744,17 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg *---------------------------------------------- SELECT TABLABIN SET ORDER TO PARENT_OBJ + GOTO RECORD 1 && Class Library Header/Form Header + + SCATTER FIELDS RESERVED7 MEMO NAME loRegClass + + IF NOT EMPTY(loRegClass.RESERVED7) THEN + TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <> <> <> + * + ENDTEXT + ENDIF + SCAN ALL FOR TABLABIN.PLATFORM = "WINDOWS" AND TABLABIN.RESERVED1=="Class" SCATTER MEMO NAME loRegClass @@ -8908,9 +8961,17 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg *---------------------------------------------- SELECT TABLABIN SET ORDER TO PARENT_OBJ - GOTO RECORD 1 + GOTO RECORD 1 && Class Library Header/Form Header + + SCATTER FIELDS RESERVED8,RESERVED7 MEMO NAME loRegClass + + IF NOT EMPTY(loRegClass.RESERVED7) THEN + TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <> <> <> + * + ENDTEXT + ENDIF - SCATTER FIELDS RESERVED8 MEMO NAME loRegClass IF NOT EMPTY(loRegClass.RESERVED8) THEN TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 @@ -10384,8 +10445,9 @@ DEFINE CLASS CL_MODULO AS CL_CUS_BASE + [] ; + [] ; + [] ; + + [] ; + + [] ; + [] ; - + [] ; + [] ; + [] ; + [] @@ -10397,6 +10459,7 @@ DEFINE CLASS CL_MODULO AS CL_CUS_BASE _Ole_Obj_count = 0 _Clases_Count = 0 _includeFile = '' + _Comment = '' ************************************************************************************************